本文记录使用Socket通信时所遇到坑,不断更新。
目前记录三个问题:
- 建立Socket连接
- 使用输入流和输出流进行通信
- 使用心跳保持Socket连接
建立Socket连接
Socket连接需要一个ServerSocket充当服务器,还有许多Socket作为客户端来连接ServerSocket. 在Eclipse中代码如下:
服务器端:
Socket socket;
System.out.println("wait for a client.");
socket = serverSocket.accept();
System.out.println("accept a socket.");
writer = new ObjectOutputStream(socket.getOutputStream());
System.out.println("get writer.");
//ObjectInputStream is waiting for a header, we will be stuck until we completely receive it,
//we should call flush() on the other side.
reader &