无法从WPF应用程序连接到WinRT服务器

时间:2013-11-26 01:36:11

标签: c# wpf windows-runtime windows-store-apps tcpclient

我的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

1 个答案:

答案 0 :(得分:1)

我记得在udp广播上有一个类似问题的帖子:UDP Broadcasting not working on same machine in windows 8

我尝试在同一台机器上安装websocket客户端和服务器(参见上述线程的注释)并且它不起作用。对不起,我不知道为什么(它只适用于不同的机器)。