首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

再次请问socket多线程有关问题

2012-02-14 
再次请教socket多线程问题多个客户端与服务器端进行通信,接收数据时是不是服务器要为每个客户端开辟一个接

再次请教socket多线程问题
多个客户端与服务器端进行通信,接收数据时是不是服务器要为每个客户端开辟一个接收buffer?处理完数据后怎么对应该客户端发送数据呢?

[解决办法]
多个客户端与服务器端进行通信,接收数据时是不是服务器要为每个客户端开辟一个接收buffer?处理完数据后怎么对应该客户端发送数据呢?
----------------------------------
1,是为每个client分配一个buff.
2,当client连接到server上时,server为每个client新分配一个socket连接,读写都是针对这个socket.
[解决办法]
没听说过要为每个客户端分配一个buf!要是1w个客户端,那服务器的内存不是不够了?服务器的buf是针对服务器的网卡内存而定的,每次是把网卡中的内存拷贝过来。

你用的是SDK的SOCKET吧,服务器ACCEPT的时候里面有个OUT参数,就是客户端的SOCKET,RECV的时候也有个OUT参数,也是客户端的SOCKET。如果你用的是消息机制,那消息中的WPARAM就是客户端的SOCKET!
[解决办法]
个客户端与服务器端进行通信,接收数据时是不是服务器要为每个客户端开辟一个接收buffer?处理完数据后怎么对应该客户端发送数据呢?
==========================
使用同一個BUFFER
包在設計的時候要有特定的結構, 通過這個結構信息來判斷 你是谁

热点排行