Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 8.1 StreamSocketListener c#_C#_Sockets_Windows Runtime_Microsoft Metro - Fatal编程技术网

Windows 8.1 StreamSocketListener c#

Windows 8.1 StreamSocketListener c#,c#,sockets,windows-runtime,microsoft-metro,C#,Sockets,Windows Runtime,Microsoft Metro,所以我对编程相当陌生,并决定尝试一些网络,但我被卡住了。我试图创建一个简单的客户端和服务器,只是为了建立连接。显然,它不起作用,我已经四处查看,但找不到任何新的信息来帮助我。所以我决定在这里试试 下面是我运行客户端和服务器时发生的情况: (我在同一台计算机上运行客户端和服务器) *客户端连接到服务器(本地主机): -System.Exception:连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立的连接失败,因为连接的主机没有响应 *服务器未运行时,客户端连接到服务器: -系统异常:无

所以我对编程相当陌生,并决定尝试一些网络,但我被卡住了。我试图创建一个简单的客户端和服务器,只是为了建立连接。显然,它不起作用,我已经四处查看,但找不到任何新的信息来帮助我。所以我决定在这里试试

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

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

*客户端连接到服务器(本地主机):

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

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

-系统异常:无法建立连接,因为目标计算机主动拒绝连接

*客户端在端口80(不是服务器)连接到本地主机:

-建立连接

*客户端通过端口80连接到主机名google.com:

-建立连接

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

-系统异常:不知道这样的主机

服务器代码:

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)
    {

    }
}
客户代码:

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)
    {

    }
}
看看样品

调试应用程序时,Visual Studio会自动创建一个用于测试从WinRT客户端(
StreamSocket
)到本地服务器的连接

从本地客户端到WinRT服务器(
StreamSocketListener
)的豁免不起作用。您需要在另一台计算机上运行服务器

此外,如果您使用的是
SreamSocketListener
,则需要

如果您的服务器正在本地网络中的另一台计算机上运行,则需要。

查看示例

调试应用程序时,Visual Studio会自动创建一个用于测试从WinRT客户端(
StreamSocket
)到本地服务器的连接

从本地客户端到WinRT服务器(
StreamSocketListener
)的豁免不起作用。您需要在另一台计算机上运行服务器

此外,如果您使用的是
SreamSocketListener
,则需要

如果您的服务器在本地网络的另一台计算机上运行,您需要。

谢谢,我通过将两个独立的应用程序(服务器和客户端)放在一个应用程序中“修复”了它,并解决了它。谢谢,我通过将两个独立的应用程序(服务器和客户端)放在一个应用程序中“修复”了它,并解决了它。