2011-03-19 65 views
0

我创建一个TFTP样的程序,但不是停止和等待,我试图用一个去背-N的方法。我不完全知道如何去这个问题,因为我有很少的socket编程经验。C:套接字没有停止和等待

我有我的客户发送所有的sendto数据,和我目前只是没有调用recvfrom的,因为它会等待,直到我得到回应,但我不希望它等待。我想检查是否有回应,但如果没有,请继续发送数据。

有人能指出我正确的方向吗?请让我知道,如果需要更多的信息,我无法详细说明。

谢谢!

回答

2

创建一个非阻塞套接字,并使用select()(或poll()或其他任何您掌握的机制)来等待套接字的可写性和可读性。然后在出现问题时适当地对每个国家进行适当的反应。

我从来没有使用UDP做到了这一点,但我看不出有任何理由,它不应该(快速谷歌似乎重申)。