网络编程:JavaSocket编程与异常处理

原创 谁践踏了优雅 2024-09-12 09:12 130阅读 0赞

在Java中,Socket编程是网络通信的基础。下面我们将详细讲解Java Socket编程以及如何进行异常处理。

  1. Socket编程基础**

    • 创建Socket实例:Socket socket = new Socket(host, port);
    • 获取输出流:OutputStream outputStream = socket.getOutputStream();
    • 发送数据(如字符串):outputStream.write(str.getBytes());
  2. 异常处理**

    • SocketException:一般发生在创建Socket时,如指定的主机不存在等。
    • IOException:通常表示在读写输入/输出流时发生了错误。例如,网络连接可能中断。

示例代码:

  1. import java.io.*;
  2. import java.net.*;
  3. public class SocketExample {
  4. public static void main(String[] args) {
  5. try {
  6. // 创建Socket对象
  7. Socket socket = new Socket("localhost", 1234));
  8. // 获取输出流
  9. OutputStream outputStream = socket.getOutputStream();
  10. // 发送数据,这里发送字符串
  11. outputStream.write("Hello, Server!".getBytes());
  12. // 关闭输出流
  13. outputStream.close();
  14. // 读取服务器回复的数据(如果有的话)
  15. InputStream inputStream = socket.getInputStream();
  16. if (inputStream.available() > 0) {
  17. byte[] replyBytes = new byte[inputStream.available()];
  18. inputStream.read(replyBytes);
  19. System.out.println("Server replied: " + new String(replyBytes));
  20. }
  21. // 关闭输入流
  22. inputStream.close();
  23. } catch (SocketException e) {
  24. System.err.println("Socket exception: " + e.getMessage());
  25. e.printStackTrace();
  26. } catch (IOException i) {
  27. System.err.println("I/O exception: " + i.getMessage());
  28. i.printStackTrace();
  29. }
  30. // 关闭Socket
  31. try {
  32. socket.close();
  33. } catch (IOException i) {
  34. System.err.println("Error closing socket: " + i.getMessage());
  35. i.printStackTrace();
  36. }
  37. }
  38. }

这个示例创建了一个本地的Socket连接到指定端口,并发送一条字符串消息给服务器。同时,它也处理了可能发生的SocketException和IOException异常。

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

发表评论

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

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

相关阅读