uwp app中聊天客户端的实现

implementation of chat Client in uwp app

本网站上给出的正常工作的示例如下 link https://blogs.msdn.microsoft.com/brunoterkaly/2012/02/28/node-js-a-chat-server-written-in-node-and-a-client-app-written-in-c/#comment-12985

但是当我尝试在 uwp 模板中实现此客户端应用程序时。

问题出现在 Tcpclient、NetworkStream 和其他一些 类 中,这些在 uwp 中不可用。

uwp 不支持 System.Net.Sockets 命名空间下的 blog you posted here is a WPF project, not a uwp app project. Classes like TcpClient and NetworkStream 中的聊天客户端。

在 uwp 中,我们在 Windows.Networking.Sockets namespace instead, E.g.StreamSocket, StreamSocketListener and so on. More details please refence the sockets official documents in uwp. And the uwp official sample about sockets is here 下使用 类。

我也帮你把博客里的聊天客户端从wpf转移到了uwp,你可以直接从GitHubdownload it进一步测试

uwp 聊天客户端的部分代码:

private async void cmdConnect_Click(object sender, RoutedEventArgs e)
{
    AddPrompt();
    Windows.Networking.HostName serverHost = new Windows.Networking.HostName("127.0.0.1");
    await tcpClient.ConnectAsync(serverHost, "8000");
    serverStream = tcpClient.OutputStream.AsStreamForWrite();
    StreamWriter writer = new StreamWriter(serverStream);
    string request = txtChatName.Text.Trim() + " is joining";
    await writer.WriteLineAsync(request);
    await writer.FlushAsync();
    Stream streamIn = tcpClient.InputStream.AsStreamForRead();
    StreamReader reader = new StreamReader(streamIn);
    string response = await reader.ReadLineAsync();        
}