WebSocket Windows服务侦听端口8080

时间:2016-10-31 15:03:50

标签: c# sockets websocket windows-services

我是Windows服务开发的新手,需要在C#中构建一个将在端口8080上侦听进入的数据,然后解析它。我找到了有关System.Net.WebSocketsSystem.Net.Sockets和第三方库的信息,例如SuperSocket。 这是example,但不确定OnStart()中的内容以及Windows服务类的OnStop()方法中的内容。另一个例子是here,但这也没有特别涵盖Windows服务。对于基本的Windows服务开发,有MSDN article

我认为这是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 个答案:

答案 0 :(得分:2)

由于您希望将端口8080用作侦听端口,因此我假设您基本上处理的是http流量。您应该查看Here the complete code Web服务器,而不是使用原始套接字。或者OWIN Self Hosted也可以。

当Windows尝试停止服务时,会调用

OnStop()。您可以将其视为您的Dispose服务。 OnStart()与初始化功能类似。我建议您查看非常好的库NancyFx以开始编写Windows服务。