Chinaunix

标题: socket有没有一个客户端同时对应多个服务端发数据的? [打印本页]

作者: korpus    时间: 2013-06-06 17:44
标题: socket有没有一个客户端同时对应多个服务端发数据的?
程序采用多线程的处理方式。这里需要向多个服务端发送数据,串行发的话会比较消耗后面的处理时间。就想利用多线程分别发。但是建立连接的套接字一样了,读写就出现了问题?有没有方法呢?谢谢。
作者: korpus    时间: 2013-06-06 18:12
套接字相等了,系统函数就不知道连接的是哪个了。有帮助吗?
作者: lxyscls    时间: 2013-06-06 18:23
TCP每个服务器是不同的套接字对,就是不同的套接字
UDP的话,客户端bind之后发送到不同的服务器就可以了
作者: zhouqi5063    时间: 2013-06-06 18:31
udp可以的,不过要小心临界资源
作者: korpus    时间: 2013-06-06 18:31
回复 3# lxyscls


    对,有一个bind。忘记了,试试哈,谢谢了。
作者: linux_c_py_php    时间: 2013-06-06 19:53
一个线程一个连接就可以了。
作者: korpus    时间: 2013-06-06 22:46
是一个线程一个,套接字相同了,

作者: korpus    时间: 2013-06-07 09:41
回复 3# lxyscls


    我是TCP的,bind报99的错了
作者: lxyscls    时间: 2013-06-07 09:47
korpus 发表于 2013-06-07 09:41
回复 3# lxyscls

我是说UDP用bind
TCP一个线程连一个
作者: korpus    时间: 2013-06-07 11:52
还是有点问题,看来只能用串行。
作者: korpus    时间: 2013-06-07 11:55
其实我是一个线程连接服务端的,只是write这些函数是公用的嘛。。因为connect是连接到了不同的server然后得到的套接字就一样了。write,read函数只有套接字,就出现问题了。
作者: linux_c_py_php    时间: 2013-06-07 12:54
一个连接一个socekt, 各写各的.




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2