创建socket实例出错,不知道为什么

xiao88yan 2004-04-04 03:46:12
下面为我的代码
Private Sub listen()
Dim localhostname As String = Dns.GetHostName
Dim ipadd As IPAddress
Try
’得到本机IP地址
Dim addressList As System.Net.IPAddress()
addressList = Dns.GetHostByName(Dns.GetHostName()).AddressList
ipadd = addressList(0)

Catch
End Try
Dim ep As IPEndPoint = New IPEndPoint(ipadd, 8000)
Dim listener As Socket
listener = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Udp) ------>>>>>‘这句出错
listener.Bind(ep)
listener.Listen(10)
setupreceivecallback(listener)
End Sub
调试时出错,错误提示为:
未处理的“System.Net.Sockets.SocketException”类型的异常出现在 system.dll 中

其他信息:请求的协议还没有在系统中配置,或者没有它存在的迹象。
请高手诊断
...全文
164 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
scegg 2004-04-08
  • 打赏
  • 举报
回复
如果你要接收所有地址,那么创建新的IPEndPoint的使用使用Any。
Dim anIPEP as New Net.IPEndpoint(Net.IPAddress.Any,0)
scegg 2004-04-08
  • 打赏
  • 举报
回复
ReceiveFrom后面给一个IPEndPoint,这个是ByRef的,接收后,被修改成来源地址。
xiao88yan 2004-04-08
  • 打赏
  • 举报
回复
我知道了
还有一个问提:接收到消息时如何知道发送方的机器名或IP地址
sg_stone 2004-04-08
  • 打赏
  • 举报
回复
UDP 方式的链接哪里来的Listen呢?
xiao88yan 2004-04-05
  • 打赏
  • 举报
回复
up
xiao88yan 2004-04-04
  • 打赏
  • 举报
回复
我刚才又试了一下
listener = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
将udp 换成了tcp,不再报错,为什么?
我本意是想用UDP的

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧