[问题] server同时等待recv不同client传送资料?

楼主: ptthidebear (= =)   2015-05-26 20:27:42
开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC++
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
Winsock2
问题(Question):
各位好,小弟是socket的初学者,最近想要实作一个server,
目的是在建立约4个连线(client使用不同的port连接server)之后,
这些client会传送data给server,server接收到某个client的讯息后,
再根据是哪个client送的讯息去做相对应的事情。
理论上来说这些client不会同时送资料给server,同时间可能只有一个,
想请教各位大大,这样一定得用multi-thread的方式实做吗?
今天有稍微看了一下select()这个function,看到的example都是
select
作者: scwg ( )   2015-05-26 20:37:00
accept 之后的 fd 也可以放到 readfds 里, select 回来的时候检查, 只有 serversock 用 accept, 其他可以用 recv 收
作者: q82419 (q82419)   2015-05-27 02:49:00
multi-process (被打
作者: Jockey66666 (往事已成追忆)   2015-05-27 09:07:00
你说client使用不同的port(server的?)去连server既然都开不同port了那就不用多开thread吧?虽然这样有点怪怪的,也许是我误会你的意思了
作者: iloveyouever (佚名)   2015-05-29 10:27:00
server应该是同一个port,楼上有点误解
作者: overhead (overhead)   2015-05-30 10:29:00
不是很懂 你的意思是你觉得用select的recv会被block住?不会喔 select配合FD_ISSET 就不会被block了看你的需求 select是ok的

Links booklink

Contact Us: admin [ a t ] ucptt.com