日期:2014-05-17  浏览次数:20443 次

socket在.net下应用
在windos窗体应用程序和控制台应用程序里面可以利用socket接受其他主机的tcp连接,但是在asp.net web应用程序里面用socket就接收不到其他主机发出的连接请求。我看一些论坛上说webform是无状态的,socket不能运用。我想问下socket能在哪些类型的项目上应用,在哪些类型项目上不能应用,如果能说说具体原因那更好了。

------解决方案--------------------
windows和控制台程序之所以能用是因为它们可以保证长期运行。如果非要说什么类型的项目不能用,除了web以外,那些不能长期运行的项目,比如dll,或者wf中的一个activity之类的,都不要用。
------解决方案--------------------
socket一般都是用在控制台、form程序(winform、wpf)等能够持续运行的环境。asp.net也可以使用(你可以将你在控制台里面建立好的socket程序代码完整的复制到aspx后台代码中一样运行),但是不适合做为长期运行的socket服务端,适合做简单的socket客户端程序,去请求socket服务。
------解决方案--------------------
额,技术是发展,现在其实有websocket

把你的vs打开,如果你安装的有mvc4,你会发现你的模版里出现了signalR模版

如果你没有装,在vs的库程序管理包中搜索websocket,你会发现有不下50种的各式websocket实现库

 
------解决方案--------------------
引用:
在windos窗体应用程序和控制台应用程序里面可以利用socket接受其他主机的tcp连接,但是在asp.net web应用程序里面用socket就接收不到其他主机发出的连接请求。我看一些论坛上说webform是无状态的,socket不能运用。我想问下socket能在哪些类型的项目上应用,在哪些类型项目上不能应用,如果能说说具体原因那更好了。


除了网页。