2

问题是我的服务器是用旧框架编写的,所以我不能在那里使用 SocketStream,我使用 System.Net.Sockets.TcpClient 代替。客户端是在新框架中编写的,不支持 TcpClient 和整个 System.Net.Sockets。在新框架中,我们有 Windows.Networking.Sockets。确切的问题是:如何将数据从客户端发送到服务器?

以下是用户单击发送按钮时发生的情况:

var writer = new DataWriter(socket.OutputStream);
writer.WriteString(message);
var ret = await writer.StoreAsync();
writer.DetachStream();
LogMessage(string.Format("Sent (to {0}) {1}", socket.Information.RemoteHostName.DisplayName, message));

在服务器端:

srReceiver = new System.IO.StreamReader(tcpClient.GetStream());
strResponse = srReceiver.ReadLine();
4

1 回答 1

1

套接字只允许双向八位字节流。这与 API 无关:Win32 API 可以非常愉快地与 POSIX 套接字进行互操作(考虑在 Windows 上浏览由 Linux 上运行的 Apache 提供的内容)。

更多内容取决于客户端和服务器是否同意(消息编码等)。

IE。建立连接(使用不同的API),然后以通用格式发送数据,它将被接收。

于 2012-04-27T10:27:45.357 回答