我正在尝试在Windows Server 2003上启动并运行该应用程序之前,该应用程序在Windows Server 2003上没有问题。我已尝试使用Google搜索来寻找答案,但是我似乎可以在Microsoft网站上找到的唯一“解决方法”未能解决问题(正在编辑注册表并添加值为1(在正确区域中)的新字段DisableRawSecurity。我正在VB .Net中调试此应用程序
异常(exception):尝试以其访问权限禁止的方式访问套接字。
如此处所要求的,是该子程序的源代码,该子程序可解决以下问题:
Private Sub Listen()
Try
ListenerSocket.Bind(LocalEndPoint)
ListenerSocket.Listen(100)
While True
ListenerSocket.BeginAccept(New AsyncCallback(AddressOf AcceptCallback), ListenerSocket)
End While
Catch ex As System.Exception
Stop
End Try
ListenerSocket.Shutdown(SocketShutdown.Both)
End Sub
任何帮助,将不胜感激。
最佳答案
您可能会遇到问题,因为对BeginAccept的调用处于无限循环中。您应该只调用一次,直到命中AsyncCallback,然后再次调用EndAccept和BeginAccept。因此,从本质上讲,您一次调用BeginAccept即可启动,然后在每个连接建立后再次调用。
关于vb.net - Windows Server 2003上的SocketException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/492188/