长连接和短连接的问题
什么是长连接和短连接?
所谓长连接,指在一个TCP连接上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需要双方发链路检测包以维持此连接。
短连接是指通信双方有数据交互时,就建立一个TCP连接,数据发送完成后,则断开此TCP连接,即每次TCP连接只完成一对消息的发送。
我的socket是长连接还是短连接是由服务端决定的还是有客户端决定的?是否有一个函数来创建一个长连接或者短连接?(我的意思是有一个参数,表示长连接或者短连接 比如是否有类似的函数createLink(int linkType) 调用的时候linkType为1表示长连接,为0表示短连接)
还有听说长连接要发送心跳消息,是怎么发送的?有库函数可以自动实现这个吗?
还有人说不用发送心跳消息,tcp会自动发送以保证是否连接,只要网络不断就可以了。到底要不要自己发送心跳消息啊,如果要的话,怎么发送阿
最好有例子,谢谢了