在uwp app中实现chat Client

时间:2016-09-28 13:59:49

标签: sockets uwp uwp-xaml

本网站上提供的示例正常运行,链接为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中没有的类中。

1 个答案:

答案 0 :(得分:1)

您在此处发布的blog中的聊天客户端是WPF项目,而不是uwp应用项目。 uwp不支持System.Net.Sockets命名空间下的TcpClientNetworkStream等类。

在uwp中,我们使用Windows.Networking.Sockets命名空间下的类,例如StreamSocketStreamSocketListener等等。更多细节请在uwp中反驳sockets官方文件。关于套接字的uwp官方样本是here

我还帮助您将博客中的聊天客户端从wpf转移到了uwp,您可以直接从GitHub download it进行进一步测试。

uwp chat客户端的部分代码:

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();        
}