我的WinRT服务器代码如下所示
public class Server
{
StreamSocketListener networkListener;
public Server()
{
networkListener = new StreamSocketListener();
networkListener.ConnectionReceived += networkListener_ConnectionReceived;
}
void networkListener_ConnectionReceived(StreamSocketListener sender, StreamSocketListenerConnectionReceivedEventArgs args)
{
//never gets called
}
public async Task Start()
{
await networkListener.BindServiceNameAsync("51114");
}
}
端口没关系,我检查了它没有被使用,并尝试了其他一些。
我的WPF代码看起来像这样
private async void btnConnect_Click(object sender, RoutedEventArgs e)
{
TcpClient client = new TcpClient();
await client.ConnectAsync(IPAddress.Parse("127.0.0.1"), 51114);
//client.Connect("localhost", 51114);
}
我尝试过“localhost”,“127.0.0.1”以及我电脑的实际本地IP。
允许端口通过防火墙。
据我所知,服务器在WinRT应用程序中启动,没有抛出异常,netstat -a显示我正在侦听端口51114。
当WPF应用程序尝试连接时,我收到以下错误
mscorlib.dll中发生了'System.Net.Sockets.SocketException'类型的异常但未在用户代码中处理
其他信息:连接尝试失败,因为连接方在一段时间后没有正确响应,或者由于连接主机无法响应而建立连接失败
异常中的ErrorCode是10060
答案 0 :(得分:1)
我记得在udp广播上有一个类似问题的帖子:UDP Broadcasting not working on same machine in windows 8
我尝试在同一台机器上安装websocket客户端和服务器(参见上述线程的注释)并且它不起作用。对不起,我不知道为什么(它只适用于不同的机器)。