读书人

c# socket有关问题!

发布时间: 2012-12-29 10:28:09 作者: rapoo

c# socket问题!~~求助
最近工作遇到c#用socket的问题,我是做上位机软件的,下位机是用GPRS来传送给我做的服务器软件一些数据包,也可以理解成TCP连接方式(长连接),我要描述的是下位机不只一个,也就是说客户端不只是一个,作为服务端的我,怎么去给不同的客户端发数据包呢?请各位大侠明示,谁能给个demo感激不尽!
[解决办法]
在客户端登录的时候在服务器端做个会话集合,

每个会话保存客户端socket对象以及socket的句柄做为ID,如果说客户端是有类型区分的可以做个类型的标记,这样就存储了不同类型的客户端集合,

当需要发送消息的时候直接查找客户端会话对象然后通过对应存储的 socket对象发送就可以了
[解决办法]
建立用端
中就已建立各用可接收什包。如:甲:A, B;乙:A, C
用端要求,先身份服端的生A包,可分送甲及乙;服端生C包,分送乙。
如果您使用WCF或WF可方便,因用要求,就必送出要的服,可以至MSDN找有WCF或WF的例。
[解决办法]
个人认为写一个客户对象类,大概包含 唯一标识 ,缓存空间 连接时间,和客户编号 ,和Socket
客户连接的时候就new对象并保存到集合,并且客户端要做心跳包,服务接受后更改客户类时间 服务器的话 每个多少秒比对一下集合,如果超出时间并删除集合客户端类,并关闭客户端类socket
个人观点

读书人网 >C++ Builder

热点推荐