Windows 8.1 StreamSocketListener c#

时间:2015-08-24 20:44:34

标签: c# sockets windows-runtime microsoft-metro

所以我对编程很新,并决定尝试一些网络,但我被卡住了。我试图创建一个简单的客户端和服务器只是为了建立一个连接。显然,它不起作用,我已经环顾四周但无法找到任何新的信息来帮助我。所以我决定尝试一下。

以下是我运行客户端和服务器时发生的事情:

(我在同一台计算机上运行客户端和服务器)

*客户端连接到服务器(localhost):

-System.Exception:连接尝试失败,因为连接方在一段时间后没有正确响应,或者由于连接主机无法响应而建立连接失败。

*客户端在服务器未运行时连接到服务器:

-System.Exception:无法建立连接,因为目标计算机主动拒绝它。

*客户端连接到端口80(不是服务器)的localhost:

- 建立连接

*客户端在端口80连接到HostName google.com:

- 建立连接

*客户端连接到随机IP和端口:

-System.Exception:没有这样的主机。

Servercode:

public sealed partial class MainPage : Page
{
    StreamSocketListener _listener = new StreamSocketListener();
    string port = "1800";

    public MainPage()
    {
        this.InitializeComponent();
        listener();
    }
    private async void listener()
    {
        _listener.ConnectionReceived += listenerConnectionReceived;
        await _listener.BindServiceNameAsync(port);
    }
    void listenerConnectionReceived(StreamSocketListener sender, StreamSocketListenerConnectionReceivedEventArgs args)
    {
        tb_server.Text = "Connection received.";
    }
    private void btn1_Click(object sender, RoutedEventArgs e)
    {

    }
}

Clientcode:

public sealed partial class MainPage : Page
{
    StreamSocketListener _listener = new StreamSocketListener();
    string port = "1800";

    public MainPage()
    {
        this.InitializeComponent();
        listener();
    }
    private async void listener()
    {
        _listener.ConnectionReceived += listenerConnectionReceived;
        await _listener.BindServiceNameAsync(port);
    }
    void listenerConnectionReceived(StreamSocketListener sender, StreamSocketListenerConnectionReceivedEventArgs args)
    {
        tb_server.Text = "Connection received.";
    }
    private void btn1_Click(object sender, RoutedEventArgs e)
    {

    }
}

0 个答案:

没有答案