c# - C# 中的 TCP 服务器 Windows 8 XAML 应用程序

标签 c# windows-8 tcp tcplistener tcpserver

我最近使用 WPF 和 C# 为 Windows 桌面开发了一个 TCP 客户端-服务器应用程序。 现在,我正在考虑将其移植到 Windows 8 Metro App。

但是,System.Net.Sockets 命名空间似乎不存在于 Metro Apps 的 SDK 中。 (所以我不能使用 TcpListener、TcpClient 等) 我也找不到工作示例。

是否可以将 TCP-IP 服务器创建为 Windows 8 Metro 应用程序(使用一些不同的方法)? 是否有任何第三方库(最好是免费和开源的)可用于完成此操作?

请帮帮我。 提前致谢。

最佳答案

推荐使用StreamSocket类。

这是一个 Example来自 MSDN。


套接字通过 TCP 提供发送和接收,StreamSocketListener 将监听传入的 TCP 连接。

这是我的想法:

首先我们需要一个 StreamSocketListener 的实例。

private StreamSocketListener _listener = new StreamSocketListener();

然后启动监听器连接接收到的事件处理程序并绑定(bind)服务名称。

_listener.ConnectionReceived += listenerConnectionReceived;
await _listener.BindServiceNameAsync("localServiceName");

If the localServiceName parameter is an empty string, then the system will select the local TCP port on which to bind. MSDN

现在我们必须接收连接:

        void listenerConnectionReceived(StreamSocketListener sender, StreamSocketListenerConnectionReceivedEventArgs args)
        {
            Console.WriteLine(string.Format("Recive connection from {0}", args.Socket.Information.RemoteHostName.DisplayName));
        }

顺便说一句:我为此做了很多研究,没有时间(和 Windows 8 METRO 开发环境)来证明我的想法。希望我能尽快做到这一点。这真的让我很烦。 (德语/英语);)

关于c# - C# 中的 TCP 服务器 Windows 8 XAML 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17342011/

相关文章:

java - 两个 android 设备之间的 TCP 连接(即使使用 NAT)

c# - 如何设置连接到主机 PC 的设备的 IP 地址? C# 窗体?

c# - 'decimal' 类型和格式的 html 助手?

c# - 如何在不修改生成的类的情况下将 SoapExtension 属性添加到生成的 Web 服务客户端代理?

c++ - 使用 C++/CX for Desktop Windows 的 XAML 应用程序

javascript - TRACKER : error TRK0005: Failed to locate: "CL.exe". 系统找不到指定的文件

linux - 如果我在 Linux 上使用原始套接字,内核是否会丢弃带有错误 TCP 校验和的传入数据包?

c# - 并发堆栈 : How to check if contains object?

c# - 三个 c# 并发队列 - 当需要执行特定操作时如何暂停它们?

javascript - 如何在 Windows 8 JavaScript 应用程序中设置禁用按钮的样式?