|
Как остановить ServerSocket без выбрасывания исключений?
|
|||
---|---|---|---|
#18+
Код сервера: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66.
При выполнении ServerSocket.close() вылетает исключение: java.net.SocketException: socket closed в строке: client = server.accept(); Как я понимаю, на этой строке поток останавливается и ждет коннекта от клиента, и в этот момент я его закрываю. Как правильно обойти это исключение и завершить работу сервера? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2018, 18:26 |
|
Как остановить ServerSocket без выбрасывания исключений?
|
|||
---|---|---|---|
#18+
Как обычно - "перехватить и обработать". ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2018, 20:43 |
|
Как остановить ServerSocket без выбрасывания исключений?
|
|||
---|---|---|---|
#18+
Скорее всего - нормальное поведение. Клиент уже закрыл сокет и сервер при закрытии получает такое состояние. Как обойти? Ну как всегда. Обработать. Здесь не в тему топика. Это ужасный код. Никогда так не пишите. У читающего будет когнитивное искажение. Его глаза и его мозг будут кричать о том что sc.close вложен в if () {} хотя на самом деле это не так. Lestat666 Код: java 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2018, 21:50 |
|
|
start [/forum/topic.php?fid=59&msg=39710659&tid=2121750]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
88ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
others: | 329ms |
total: | 522ms |
0 / 0 |