请教大家一个socket通信的问题

shi_hang_nk 中创软件昆山公司 副总工程师  2010-07-03 05:29:53
大家好,一个socket通信的问题,看看大家有没有好的思路

我正在设计一个数据接收软件,这个软件装在一台PC上,要和10台外围设备通信。外围设备是别人开发的,接口协议如下:

外设为服务器端,pc为客户端。在未建立连接时由pc向外设发出连接请求,外设在接收连接请求后进行一定的预处理,决定是否允许建立连接。

如果可以建立连接,存在二类接口:

1.外设成为数据发送的主动方,开始逐条发送消息包,发送每个消息后等待应答;pc接收到消息后进行处理,然后返回外设一个应答。

2.pc定期向各个外设发送心跳检测请求,接收各个外设的应答。

上述过程中,双方使用TCP协议,端口号均为10000。

基于上述需求,pc端如何设计呢?想请教一下大家的思路。
...全文
76 点赞 收藏 6
写回复
6 条回复
jenf 2010年07月05日
服务器提供的意思是你在同一时刻必须两选一吧
回复 点赞
shi_hang_nk 2010年07月05日
二个业务方法都走同一个port会有问题吗?
回复 点赞
lzh3ng 2010年07月03日
上面都都说的不错
回复 点赞
cattycat 2010年07月03日
可以创建线程,每个线程连接各个外设,然后线程中可以再创建线程专门接收数据。注意数据格式要一致。
回复 点赞
jiuchang 2010年07月03日
这个难度不大,因为要不要建立连接是服务器来决定的。PC只要建立连接后等待就可以了
关键是要把协议搞明白,把数据结构设计好就可以了
连接外设是通过IP列表啊,还是广播的形式
回复 点赞
风吹草地现牛羊 2010年07月03日
首先,服务器要先打开.然后PC广播,收到你广播的信号向PC发出连接请求...
回复 点赞
发动态
发帖子
C语言
创建于2007-09-28

3.2w+

社区成员

24.0w+

社区内容

C语言相关问题讨论
社区公告
暂无公告