C# 如何让C程序在等待数据时继续?
我希望创建一个程序,将创建一个套接字和接受连接。如果收到数据,它将解析数据并将其发送到另一个设备 关键是我不希望程序“等待”套接字上的数据。我希望能够坐在一个循环中,检查是否收到了数据。如果没有收到数据,继续做其他事情 我读过关于异步套接字的文章,但这似乎更适合于拥有多个连接 这是我应该去的方向吗?或者我应该寻找不同的东西 e、 gC# 如何让C程序在等待数据时继续?,c#,sockets,C#,Sockets,我希望创建一个程序,将创建一个套接字和接受连接。如果收到数据,它将解析数据并将其发送到另一个设备 关键是我不希望程序“等待”套接字上的数据。我希望能够坐在一个循环中,检查是否收到了数据。如果没有收到数据,继续做其他事情 我读过关于异步套接字的文章,但这似乎更适合于拥有多个连接 这是我应该去的方向吗?或者我应该寻找不同的东西 e、 g 感谢您的帮助和/或建议:调查背景员工。它们是产生另一个线程的好方法……如果不是很明显,线程独立运行,主程序不必等待它完成任务。这是我应该走的正确方向吗?是的,使用套
感谢您的帮助和/或建议:调查背景员工。它们是产生另一个线程的好方法……如果不是很明显,线程独立运行,主程序不必等待它完成任务。这是我应该走的正确方向吗?是的,使用套接字的最佳方式是异步。您可以使用Socket类自己的Begin/EndXXX模式,或者它的XXXAsync模式(这不是您在.NET中其他地方看到的新的基于任务的异步模式),或者GUI程序的最佳选择升级到抽象级别,并根据具体需要使用TcpClient、TcpListener或UdpClient,在这里,您可以获得一个NetworkStream,它提供了新型的基于任务的API,可与C的async/await特性一起使用。
Main()
{
while (true) {
If new data on socket then
function1()
function2()
}
}