WebSocket Windows 服务监听在 8080 端口上。

5
我是一名新手,需要用C#构建一个Windows服务,监听端口8080以接收并解析数据。我已经找到了有关System.Net.WebSocketsSystem.Net.Sockets和第三方库(例如SuperSocket)的信息。
这里有一个示例,但不确定应该在我的Windows服务类的OnStart()方法和OnStop()方法中放置什么代码。还有另一个示例,但它也没有专门涉及到Windows服务。关于基本的Windows服务开发,可以参考这篇MSDN文章
我认为以下代码应该放在OnStart()方法中:
Socket serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.IP);
serverSocket.Bind(new IPEndPoint(IPAddress.Any, 8080));
serverSocket.Listen(128);
serverSocket.BeginAccept(null, 0, OnAccept, null);

OnStop()中我应该写什么内容?

传入的数据流不需要任何认证。我是否仍然需要进行握手?

感谢您的帮助。

1个回答

2
由于您希望使用端口8080作为监听端口,我假设您基本上处理的是HTTP流量。您应该考虑使用OWIN Self Hosted Web服务器,而不是使用原始套接字。或者,NancyFx 也可以工作。 OnStop()在Windows尝试停止服务时调用。您可以将其视为服务的Dispose函数。OnStart()类似于您进行初始化的函数。我建议您查看非常好用的TopShelf库来开始编写Windows服务。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接