【发布时间】:2013-12-08 10:53:58
【问题描述】:
我目前正在尝试完成一个项目,该项目侦听多个端口并接收传入数据。
DeviceListener 类:
-我有一个名为 PortListener 的方法。它需要两个参数,即 IP 和端口地址。它持续监听特定端口以获取传入数据。
-另一个方法称为 StartListen,它在线程中运行 PortListener。
主程序:
-获取端口列表并使用StartListen方法为每个端口启动PortListener。
Psuedo Like Code:
class DeviceListener()
{
private string PortListener(string ip, int port)
{
//listen ip and port.
//wait for data.
//recieve and return data.
RecieveData();
string data = recieved data;
return data;
}
public void StartListen(string ip, int port)
{
//start PortListener in a thread
Thread t = new Thread (() => PortListener(ip,port));
t.Start();
}
}
void Main()
{
ip = ip adress;
List portlist;
foreach (port in portlist)
{
string data = DeviceListener.StartListen(ip, port);
}
}
我的问题是我无法将接收到的数据返回到我的主程序。
有没有办法为每个 PortListener 线程获取接收到的数据?
【问题讨论】:
标签: c# multithreading sockets network-programming