php socket长连接,求大神:socket怎么实现长连接?

用户投稿 29 0

关于“php_socket_长连接”的问题,小编就整理了【3】个相关介绍“php_socket_长连接”的解答:

求大神:socket怎么实现长连接?

建立连接后,两端都不进行关闭就是长连接了。如何保证对端的存在,TCP的keepalive是TCP协议的保活机制,不过默认周期为2小时,较长。在应用层,程序可以存在自己的连接保活机制,一般就是heartbeat了。

如何实现socket的长连接?

现编这个就是个多线程服务器,只要在client不释放连接,服务器端的run里边写while(TRUE)循环,那么就可以长期连接。class ConnectionThread extends Thread{Socket client;int counter;public ConnectionThread(Socket cl,int c){client = cl;counter= c;}@Overridepublic void run(){try{String destIP=client.getInetAddress().toString()

;int destport =client.getPort()

;PrintStream outstream=new PrintStream(client.getOutputStream())

;DataInputStream instream=new DataInputStream(client.getInputStream())

; String inline=instream.readLine();}//trycatch(IOException e){System.out.println(e);}}//run

socket是短链接吗?

不是。

socket长连接是长时间保持服务端与客户端的连接,这是相对于短连接而言。只要你两端不主动断开连接,那么该socket连接就是一直存在的,就可以收发数据。如果做得合理一点,就是在你不发数据的时候,自定义一个检测数据包,例如由客户端定时主动给服务端发送,这样服务端收到后就表明,该连接时一直保持的。直到你主动关闭一端,该连接才断开。

到此,以上就是小编对于“php_socket_长连接”的问题就介绍到这了,希望介绍关于“php_socket_长连接”的【3】点解答对大家有用。

抱歉,评论功能暂时关闭!