小妹在线求救~!!关于socket的问题!请各位都进来给点意见,谢谢! (50分)

  • 主题发起人 主题发起人 mimimouse
  • 开始时间 开始时间
M

mimimouse

Unregistered / Unconfirmed
GUEST, unregistred user!
[:(][:(][:(][:(]不好意思,我不太会问问题。
我想问的是,如果我现在通过网络(socket)进行一些传送数据的操作,
客户端向服务器发送一批数据,经过服务器端处理后, 把结果返回客户端。
如果有多个客户同时连上服务器,同时发送数据,
那服务器如何区分是哪个客户发来的,应该把结果返回给哪个客户呢?

小妹没什么分,只能委屈大家拉!
 
??gz是什么意思??
 
客户端有客户端IP,或者你可以在通信的数据帧上加上自已的客户端标识,
 
在客户端连接时,保存客户端信息
服务器端每有一个客户连接成功,会增加一个ActiveConnection,通过这两者建立对应就行了
 
建议你还是先看看这方面的书。
其实每个socket的连接都有由系统分配的套接描述字(一般为写为SockFd),这样就可以通过
这个描述字来判断和区分每个socket连接了。
象你要实现这种功能,最好用常连的方式,这样可以减少连接资源,操作上也简单。你处理的
时候,可以把结果处理好后,再由accept的socket返回,结果就对了。
 
如果工作在非阻塞式方式下,自己做个记录,在有客户端连接时,把IP或端口号,和Socket
的Handle记录下来,想发往指定客户端时,循环判断Connections的句柄
如果是阻塞式方式下,在线程中自定义一个TCustomWinSocket类型的内部变量,在连接时记录
当时所创建的Connection,想回发时,直接用就行了
 
后退
顶部