概述
最近项目中有个需求,要用Socket实现长连接,并且在通信过程中要互为server和client,即在一个连接中,既能够发送消息,(此时作为客户端),又要能够接收消息(此时作为server端),研究了下,实现方式如下:
一、发送消息时建立连接,构建通道。
Socket socket = new Socket();
SocketAddress endpoint = new InetSocketAddress("IP", port);
try {
socket.connect(endpoint, 10000);
} catch (Exception e) {
e.printStackTrace();
}
二、同时启动另一个线程,该线程用来接收消息
该线程里传入步骤一已经创建好的socket连接
public class Parse extends Thread
{
public Parse(Socket client) {
this.client = client;
}
public void run() {
in = client.getInputStream();
out = client.getOutputStream();
//读取数据
}
}
三、如此,只要程序启动,两边都不断开连接,此连接即为长连接,同时,在步骤二读取数据的过程中,加入异常的处理,如果中途socket断开,则重新连接。
最后
以上就是笨笨汽车为你收集整理的Java Socket 长连接通信的全部内容,希望文章能够帮你解决Java Socket 长连接通信所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复