vb.net TCP协议服务端ip怎么写才能使客户端能通过公网连接进来?
需要出口设备进行映射内部地址;或使用打洞技术穿透NAT,但使用TCP打洞非常困难。
安泽网站建设公司创新互联,安泽网站设计制作,有大型网站制作公司丰富经验。已为安泽1000+提供企业网站建设服务。企业网站搭建\外贸网站制作要多少钱,请找那个售后服务好的安泽做网站的公司定做!
参考
穿透NAT是非常困难的,因为NAT的过程中在出口路由器上的Port已经不是你定义的iPort了,具体是多少也不固定
VB.Net 关于路由器后TCP或UDP通讯问题 假设一台电脑192.168.0.1位于路由1.
端口不NAT,两个子网中的两端之间不可能通信。至少要有一方处在公网下或有路由端口映射,不必双方都映射。
建议题主找本计算机网络的书研读一下子网划分这块儿。
用vb.net实现网络通信
用 vb.net socket通信
Dim th As Threading.Thread
2 Dim tcpl As System.Net.Sockets.TcpListener
3
4 Private Sub Form1_Load()Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
5 th = New System.Threading.Thread(New System.Threading.ThreadStart(AddressOf MyListen))
6 th.Start()
7 End Sub
8
9 Public Sub SendMessage()Sub SendMessage(ByVal IP As String, ByVal SendMsg As String)
10 Try
11 If IP "" Then
12 Dim tcpc As New System.Net.Sockets.TcpClient(IP, 5656)
13 Dim tcpStream As Net.Sockets.NetworkStream = tcpc.GetStream
14 Dim reqStream As New IO.StreamWriter(tcpStream)
15 reqStream.Write(SendMsg)
16 reqStream.Flush()
17 tcpStream.Close()
18 tcpc.Close()
19 End If
20 Catch ex As Exception
21 MsgBox(ex.Message.ToString)
22 End Try
23 End Sub
24 Private Sub MyListen()Sub MyListen()
25 Try
26 Dim ipAddress As System.Net.IPAddress = System.Net.Dns.Resolve(System.Net.Dns.GetHostName).AddressList(0)
27 tcpl = New System.Net.Sockets.TcpListener(ipAddress, 5656)
28 tcpl.Start()
29 While True
30 Dim s As System.Net.Sockets.Socket = tcpl.AcceptSocket()
31 Dim MyBuffer(1024) As Byte
32 Dim i As Integer
33 i = s.Receive(MyBuffer)
34 If i 0 Then
35 Dim lstrRec As String
36 Dim j As Integer
37 For j = 0 To i - 1
38 TextBox1.Text += Chr(MyBuffer(j)) ","
39 Next
40 End If
41 End While
42 Catch ex As Exception
43 MsgBox(ex.Message.ToString)
44 End Try
45 End Sub
46
47 Private Sub Button1_Click()Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
48 SendMessage("192.168.0.61", TextBox2.Text)
49 End Sub
如何查看(或用VB.NET之类的程序)电脑的公网IP
如果你是拨号连接,你就直接在宽带连接的详细信息里面看,那就有,要是通过家用路由器上网,就登录路由器,在状态里面也可以看到的
用VB或者C#如何控制路由器的联/断网状态?
教你如何通过路由器来控制上网
--------------------------------------------------------------------------------
2006年08月10日 13:22 赛迪网
现在很多家庭用户都通过电信的ADSL或其他公司提供的类似类型的宽带上网。由于宽带的费用并低廉,而对于大多数没有大量数据下载的家庭用户来说,一户人或一台电脑独占一条ADSL有点浪费资源的感觉。于是现在很多人都用共享一条宽带上网。
这种共享上网的方法一般如下:电话线--语音分离器--ADSL猫--宽带路由器--交换机集线器--电脑
被过滤广告
被过滤广告
在这种情况下,我经过思考与试验,我发现可以通过对宽带路由器进行适当设置就可以对上网进行限制。
这里以TP-LINK TL-R402M为例(因为我发现最多人用这种。。。)说说限制上网的步骤。
1.取得局域网内所有使用者的IP与MAC地址.
取得IP的方法很多,推荐用"局域网查看工具",网上随便搜索一下就有了.
取得MAC地址的方法:WIN+R,输入CMD,用"NBTSTAT -A IP地址" 查看
取得自己电脑IP与MAC的方法:WIN+R,输入CMD,用"IPCONFIG /ALL" 查看
2.登陆宽带路由器
打开IE,输入192.168.1.1(一般都是这个....),就会出现登陆窗口
账号:ADMIN
密码:ADMIN(默认是这个,一般不更改滴...如果被更改了,稍候我研究下怎样破解,有进展再发帖)
登陆后会出现宽带路由器的设置页面 3.只允许自己的电脑上网的设置
1,设置页面--DHCP服务器--静态地址分配--将自己的IP地址与MAC地址绑定(输入并保存即可)
2,设置页面--安全设置--防火墙设置--选择开启防火墙,开启IP地址过滤,开启MAC地址过滤三项--选择"凡是不符合已设IP地址过滤规则的数据包,禁止通过本路由器"和"仅允许已设MAC地址列表中已启用的MAC地址访问Internet"。
3,设置页面--安全设置--IP地址过滤--添加新条目--把你的IP地址填进去,并选择使所有条目生效。
4,设置页面--安全设置--MAC地址过滤--添加新条目--把你的MAC地址填进去,并选择使所有条目生效。
这样设置后,嘿嘿,除了你之外,没有人可以上外网,但局域网内部之间可以正常访问。
4.不允许某一台电脑上网的设置
1,设置页面--安全设置--防火墙设置--选择开启防火墙,开启MAC地址过滤二项--"禁止已设MAC地址列表中已启用的MAC地址访问Internet"。
2,设置页面--安全设置--MAC地址过滤--添加新条目--把禁止上网的电脑的MAC地址填进去,并选择使该条目生效。
这样设置后,被禁止上网的电脑就不可以上网了,但局域网内部之间可以正常访问。
对于只允许自己的电脑上网的设置,其他电脑想上网,是比较有难度的(除了入侵路由器并更改设置外)。
网站题目:关于vb.net路由器的信息
网页链接:http://lswzjz.com/article/hjjgpg.html