vb.nettcp的简单介绍

vb.net2005 tcp聊天程序问题

‘客户端向这样写:在窗体说放两个文本框、两个标签、两个按钮、一个列表框

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名注册、网络空间、营销软件、网站建设、木兰网站维护、网站推广。

Imports System.Net

Imports System.Net.Sockets

Imports System.IO

Imports System.Threading

Public Class Form1

'网络基础数据流

Private ns As NetworkStream

Private swriter As StreamWriter

Private nsread As StreamReader

Private tcpclient As TcpClient

Private tcpconnected As Boolean = False

Private clisocket As Socket

Private mythread As Thread

'发送

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

If Me.TextBox2.Text "" Then

swriter.WriteLine(Me.TextBox2.Text)

swriter.Flush()

Me.TextBox2.Text = ""

Else

MessageBox.Show("发送信息不能为空!", "错误提示")

End If

End Sub

Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)

If disposing Then

If Not (components Is Nothing) Then

components.Dispose()

End If

End If

MyBase.Dispose(disposing)

End Sub

'建立连连接

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Dim ipremote As IPAddress

Dim tcpclient As TcpClient

Try

ipremote = IPAddress.Parse(Me.TextBox1.Text)

Catch ex As Exception

MessageBox.Show("IP地址不合法!", "错误提示")

End Try

Try

tcpclient = New TcpClient(Me.TextBox1.Text, 8000)

ns = tcpclient.GetStream

swriter = New StreamWriter(ns)

Me.StatusBar1.Text = "已经连接上"

Me.Button2.Enabled = False

Me.Button1.Enabled = True

tcpconnected = True

Catch ex As Exception

MessageBox.Show("无法与远程8000端口建立连接!", "错误提示")

End Try

End Sub

Private Sub listen()

Try

Dim tcplistener As New TcpListener(IPAddress.Parse("127.0.0.1"), 8000)

tcplistener.Start()

tcpclient = tcplistener.AcceptTcpClient

ns = tcpclient.GetStream()

nsread = New StreamReader(ns)

While True

Dim msg As String = nsread.ReadLine

If msg = "stop" Then

tcplistener.Stop()

ns.Close()

nsread.Close()

mythread.Abort()

Else

Dim mytime As String = DateTime.Now.ToShortTimeString

Me.ListBox1.Items.Add(mytime + " " + msg)

End If

End While

Catch ex As System.Security.SecurityException

MessageBox.Show("侦听失败!", "错误")

End Try

End Sub

End Class

VB.NET的TCP/IP协议 怎么弄

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 TCP协议服务端ip怎么写才能使客户端能通过公网连接进来?

需要出口设备进行映射内部地址;或使用打洞技术穿透NAT,但使用TCP打洞非常困难。

参考

穿透NAT是非常困难的,因为NAT的过程中在出口路由器上的Port已经不是你定义的iPort了,具体是多少也不固定


标题名称:vb.nettcp的简单介绍
分享URL:http://azwzsj.com/article/hjjicg.html