其实也算不上是什么心得,就是一些积累。cs结构的网游和聊天室基本上是在用长连接。

长连接一般会有个心跳包,具体就是确认客户端状态是存活的,这个还没有设计。

QQ其实也用TCP,也有心跳包,也涉及长连接。

P2P一般都是长连接,但是网游一般不设计成UDP数据包,一般都是长连接。

对于多线程阻塞服务器,recv就可以了,然后开个for(;;)或者while(1)死循环,长连接式的recv和send,这样交互,中间使用\n或者其他什么判断接受的一条协议命令;对于http这样的服务器,直接fopen套接字,fstat判断可写状态,则写入后fflush。这个flash也用了个flush函数,具体怎么回事,没做深入研究。

发表评论