WinSock客户端C.

时间:2009-11-11 17:47:35

标签: c client winsock

我有一个客户端使用select()来检查是否有任何要接收的内容,否则它超时并且用户能够发送()。哪个效果不错。但是,程序锁定等待用户输入,因此它不能再次recv(),直到用户发送了一些东西。 我也没有太多运气使用线程,因为我似乎无法找到一个好的资源,它告诉我如何使用它们。

我尝试过为send和recv函数创建两个线程(使用CreateThread),它们基本上是两个使用while循环来保持发送和接收的函数。然后两个CreateThreads()被包含在while循环中,因为否则它似乎辍学了。

我基本没有以前的线程经验,所以我对我所做过的事情的描述可能听起来很荒谬。但我会感谢任何帮助,正确使用它们进行此类使用,或者替代方法也会很棒。

2 个答案:

答案 0 :(得分:2)

无法在套接字编程上找到好的资源?呸。阅读圣经:

答案 1 :(得分:0)

这对分配工作有很强的感觉......

我对Windows编程并不太了解,但是当我之前做过一些时,曾经有一个kbhit(可能)函数允许你检查用户是否发送了任何输入。你可以寻找类似的东西,并在再次开始选择之前尝试非阻塞的用户输入检查。

然后,您可以在没有多线程的情况下使其工作 (除非呃,你 使用它)。