?SOCKET Server bind - 在其上下文中,该请求的地址无效

assassion1981 2016-02-29 09:54:59
小弟初次接触socket, 按照例程写了一个server端的listen程序, 本机IP 192.168.0.5,端口5000. 运行后,在serSock.Bind(endPoint) 处报错:在其上下文中,该请求的地址无效。
如果在程序里把IP改成 127.0.0.1, 而本机的网卡IP不做任何改动,运行程序不会报错。
请问这是什么原因?求帮助!
下面是程序代码:
Imports System.Net
Imports System.Net.Sockets
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim serSock As New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
Dim LocalIp As IPAddress = IPAddress.Parse("192.168.0.191")
Dim endPoint As EndPoint = New IPEndPoint(LocalIp, 5000)

serSock.Bind(endPoint)
serSock.Listen(10)
End Sub
End Class
如果把 Dim LocalIp As IPAddress = IPAddress.Parse("192.168.0.191") 改成127.0.0.1 则没有问题。
...全文
2246 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_32246591 2016-03-04
  • 打赏
  • 举报
回复
很好的内容,支持下!
qbilbo 2016-03-01
  • 打赏
  • 举报
回复
Dim LocalIp As IPAddress = IPAddress.Parse("192.168.0.191") 一般情况下都会写成: Dim LocalIp As IPAddress = IPAddress.Any
assassion1981 2016-03-01
  • 打赏
  • 举报
回复
@shingoscar, 谢谢! 我找到原因了, 如果PC的网线没有连接,就会报错:在其上下文中,该请求的地址无效。 如果把PC的IP设成127.0.0.*就没问题,127.0.0.*是环回IP。
Poopaye 2016-02-29
  • 打赏
  • 举报
回复
bind的ip必须是你电脑的ip

16,721

社区成员

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

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