I have a client and a server application where the client sends a byte of data that signals that the user has closed the client window and terminated the client program. The problem is that the server may send one last notification to that client before discarding him. If the server uses the SocketChannel's write method in blocking mode is it going to block indefinitely or is it simply ignored? Should I make the client wait for a "disconnection acknowledgement" before it is disconnected?
Sending data to a client through a SocketChannel after he has closed his
292 views Asked by Bat0u89 At
2
There are 2 answers
Related Questions in JAVA
- I need the BIRT.war that is compatible with Java 17 and Tomcat 10
- Creating global Class holder
- No method found for class java.lang.String in Kafka
- Issue edit a jtable with a pictures
- getting error when trying to launch kotlin jar file that use supabase "java.lang.NoClassDefFoundError"
- Does the && (logical AND) operator have a higher precedence than || (logical OR) operator in Java?
- Mixed color rendering in a JTable
- HTTPS configuration in Spring Boot, server returning timeout
- How to use Layout to create textfields which dont increase in size?
- Function for making the code wait in javafx
- How to create beans of the same class for multiple template parameters in Spring
- How could you print a specific String from an array with the values of an array from a double array on the same line, using iteration to print all?
- org.telegram.telegrambots.meta.exceptions.TelegramApiException: Bot token and username can't be empty
- Accessing Secret Variables in Classic Pipelines through Java app in Azure DevOps
- Postgres && statement Error in Mybatis Mapper?
Related Questions in CLIENT-SERVER
- Is there a way to use Family Link group in my own application?
- Setting Up a Remote Employee Clocking System with Biometric Recognition
- Issues Starting Real-Time Streaming onClick of an Icon in an Android App
- Security of Google Drive API Objects using Google Service Account Credentials in Client Side Code for Website
- String formatting lost from URL string capture when sending from client to node js back-end
- cant send javascript variable to server-side code behind
- How to catch SSL handshake exception with asyncio.start_server?
- the client/server application is not working correctly
- Astrojs "window is not defined" error, even though i'm using client:only directive
- Client-Server command pattern
- How to send an image in a Client/Server architecture with Socket python
- Custom ThreadPool and Request Queue
- How can I handle multiple (compound) commands in a command server program?
- Timeout error when connecting a client to a server running on a different machine in Python
- Why is test deployment not working while normal deployment is OK
Related Questions in SOCKETCHANNEL
- why SelectionKey.attachment() is null?
- Some Java NIO selector keys perpetually in non-ready state
- What is the minimum number of written bytes of a SocketChannel when its key is writable?
- Close SocketChannel ungracefully on purpose
- Handling realtime events flutter provider package
- How to properly handshake in java using nonblocking socketchannels from the JSSE library?
- Maintaining a list of SocketChannels that are unique
- Selector.select() is not blocking after a SelectionKey.isReadable is read
- It's possible with a non-blocking SocketChannel to read all present buffered data while preventing further receiving from clients?
- Java Asynchroussocketchannel.read using future problem
- Why does client not receive final server answer in non-blocking client-server app?
- Should I cancel the key when SocketChannel#connect returns true?
- Using two Selectors for NIO
- zero-copy from SocketChannel to SocketChannel
- how to create multiple UDP Datagram channels/streams on same local/src address
Related Questions in DISCONNECTION
- Razor Page .net6 returns 'client has disconnected' when attempting redirection
- Unexpected disconnection for users on Chrome with my wordpress website
- Why does my telegram bot unset webhooks when I send it a text
- xshell randomly disconnected from linux server (Socket error Event: 32 Error: 10053)
- c# TCPServer seems not to respond to client dissconnection
- I need to write java code that can monitor and detect network disconnection without pressing any button in apache netbeans
- Raspberry PI Bluetooth RFcomm Immediately Disconnects
- Periodic client disconnections in MQTT NodeJS server on websockets when deployed to Google Cloud Run
- Database connection with postgres keeps on disconnecting in the server in python language
- BLE CC2541 disconnect with the app after some time
- Reduce occurrence of Instant Passed (0x28) BLE disconnection error
- ASP.net Core - Handle Client Info Server-Side After Signalr Disconnect
- Disconnect programmatically from firebase
- Resume gdb session after parent shell terminated
- How to handle disconnect clients that do not exit the browser/website? socketIO
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
It won't block forever and it is not ignored. It is quite possible that it won't block at all, if there is room in the socket send buffer for the data. If it does block it may incur an IOException: 'connection reset by peer', or it may just unblock and return normally. There is no predicting this. The situation is incorrect and should not be allowed to occur. You can get to an agreed mutual close point by shutting down both sockets for output and then reading until you get an EOS; then both sides are at the same point and may close.