如何创建通过Web侦听TCP请求的WCF

时间:2015-08-24 12:09:55

标签: c# asp.net-mvc wcf gps tcp-ip

我有一个gps设备,它会将数据包发送到通过网络托管的TCP连接,该连接将具有静态IP地址&专用端口。

我的问题是如何使用WCF实现它?或者是否需要WCF来解决此问题。

请帮帮我。提前完成。

2 个答案:

答案 0 :(得分:1)

您的意思是使用http进行TCP嵌入式传输/嵌入吗?或者只是TCP,但使用互联网?

肯定支持最后一个。

要设置TCP连接,WCF很简单,只需使用NetTcpBinding,您可以在C#代码或更好的.config文件中设置它,如下所示:

<system.serviceModel>
  <bindings>
    <netTcpBinding name="portSharingBinding" 
                   portSharingEnabled="true" />
  </bindings>
  <services>
    <service name="MyService">
        <endpoint address="net.tcp://localhost/MyService"
                  binding="netTcpBinding"
                  contract="IMyService"
                  bindingConfiguration="portSharingBinding" />
    </service>
  </services>
</system.serviceModel>

在私人网络或公共网络(互联网)中设置TCP频道之间没有区别

我强烈建议您阅读A truely simple example to get started with TCP and WCF

答案 1 :(得分:0)

根据发送的数据类型,您可以使用(按抽象的升序排列):

使用示例在文档中给出。

TCP侦听器https://msdn.microsoft.com/en-us/library/system.net.sockets.tcplistener(v=vs.110).aspx

HttpListner https://msdn.microsoft.com/en-us/library/system.net.httplistener(v=vs.110).aspx 这里有一个很好的例子:https://www.codehosting.net/blog/BlogEngine/post/Simple-C-Web-Server.aspx

或使用完整的框架,例如 WebApi Nancy

http://www.asp.net/web-api

http://nancyfx.org/

如果您不知道如何发送数据,则很难推荐,但如果您不需要,请不要重新发明轮子。