本网站上提供的示例正常运行,链接为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中没有的类中。
答案 0 :(得分:1)
您在此处发布的blog中的聊天客户端是WPF项目,而不是uwp应用项目。 uwp不支持System.Net.Sockets
命名空间下的TcpClient和NetworkStream等类。
在uwp中,我们使用Windows.Networking.Sockets
命名空间下的类,例如StreamSocket,StreamSocketListener等等。更多细节请在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();
}