用VB 作个局域网聊天程序,怎么做?

用VB 作个局域网聊天程序,怎么做?,第1张

菜鸟就别考虑编了

看看局域网聊天NetCall.实现局域网内(外)的短信息传递,为WinPopup的替代品。在界面上下了工夫,更会隐藏,更能在老板眼底下使用。有信息到达时整个界面变成红色以作提示。

'xiansr.2014/2/7 vb.net2010 调试通过

Imports System.Net

Imports System.Net.Sockets

Imports System.Text

Public Class Form1

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

        Dim udpClient As New UdpClient(11000)

        Try

            udpClient.Connect("127.0.0.1", 11000)

            Dim sendBytes As [Byte]() = Encoding.ASCII.GetBytes(RichTextBox1.Text)

            udpClient.Send(sendBytes, sendBytes.Length)

            Dim RemoteIpEndPoint As New IPEndPoint(IPAddress.Any, 0)

            Dim receiveBytes As [Byte]() = udpClient.Receive(RemoteIpEndPoint)

            Dim returnData As String = Encoding.ASCII.GetString(receiveBytes)

            RichTextBox2.Text = "接收到: " + returnData.ToString()

            'Debug.Print(("This message was sent from " + RemoteIpEndPoint.Address.ToString() + " on their port number " + RemoteIpEndPoint.Port.ToString()))

            udpClient.Close()

        Catch ex As Exception

            stop

        End Try

    End Sub

End Class

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

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


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/11124151.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存