Java网络编程中socket连接断开问题案例

原创 逃离我推掉我的手 2024-10-15 23:54 166阅读 0赞

在Java网络编程中,Socket的连接断开是一个常见的问题。以下是一个简单案例:

  1. import java.io.*;
  2. import java.net.*;
  3. public class SocketConnectionExample {
  4. public static void main(String[] args) {
  5. // 创建Socket对象
  6. try (Socket socket = new Socket("localhost", 1234)) {
  7. System.out.println("Socket connected successfully.");
  8. // 发送数据
  9. try (OutputStream outputStream = socket.getOutputStream();
  10. PrintWriter printWriter = new PrintWriter(outputStream, true))) {
  11. printWriter.println("Message sent to the server.");
  12. printWriter.flush();
  13. // 接收数据
  14. try (InputStream inputStream = socket.getInputStream();
  15. BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)))) {
  16. String receivedData = "";
  17. while ((receivedData = reader.readLine())) != null) {
  18. System.out.println("Received data: " + receivedData);
  19. }
  20. if (!receivedData.equals("Message sent to the server."))) {
  21. System.err.println("Received data does not match expected.");
  22. }
  23. }
  24. } catch (IOException e) {
  25. System.err.println("Error occurred while establishing or using socket.");
  26. e.printStackTrace();
  27. }
  28. } catch (UnknownHostException uhe) {
  29. System.err.println("Failed to find the host.");
  30. uhe.printStackTrace();
  31. }
  32. }
  33. }

在这个例子中,我们尝试连接到本地主机的1234端口。如果成功,我们将发送一条消息,并接收服务器返回的消息。

如果在连接、发送或接收数据过程中遇到任何问题(如网络中断、主机未找到等),程序将捕获异常并给出相应的错误信息。

文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。

发表评论

表情:
评论列表 (有 0 条评论,166人围观)

还没有评论,来说两句吧...

相关阅读