vb.net UdpClient怎样及时的接收数据

如题所述

另起一个线程,在里面循环receive,每收到一个数据就进行分析,特殊命令如exit,执行udpclient.close(),其他数据委托到主线程。追问

麻烦给一个代码,因为我刚刚学.net嘛

追答

Imports System.Net
Imports System.Net.Sockets
Imports System.Threading
Imports System.Text

Public Class Form1
    Dim udp As New UdpClient(11000)
    Dim ReceiveThread As New Thread(AddressOf listen, 0)

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

    Sub listen()
        Dim RemoteIpEndPoint As New IPEndPoint(IPAddress.Any, 0)
        While True
            Dim receiveBytes As [Byte]() = udp.Receive(RemoteIpEndPoint)
            Dim returnData As String = Encoding.ASCII.GetString(receiveBytes)
            BeginInvoke(New EventHandler(AddressOf showMsg), returnData)
        End While
    End Sub

   

   待续

End Class

 

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-02-10
Imports System.Net.Sockets
Imports System.Net
Imports System.Text

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Try
            Dim bytes(1024) As Byte
            Dim s As New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
            Dim LocalEndpoint As New IPEndPoint(IPAddress.Parse("10.92.20.57"), 1024)
            s.Connect(LocalEndpoint)
            s.Send(Encoding.Unicode.GetBytes(TextBox1.Text))
            s.Close()
        Catch ex As Exception

        End Try
    End Sub
End Class

vb.net UdpClient怎样及时的接收数据
另起一个线程,在里面循环receive,每收到一个数据就进行分析,特殊命令如exit,执行udpclient.close(),其他数据委托到主线程。

VB.net编写一个通过UDP通讯的小软件出现Bug,只能发送不能接收,求助!
你需要知道的一点是数据接收不是接收一次就完了 接收端根本不知道数据什么时候要过来 所以数据端应该一直重复着"等待-接收"的过程 于是就有了要在线程中接收数据的代码

vb.net UDP 本地发送和接收怎么使用同一个端口呢
DatagramSocket用于接收和发送UDP的Socket实例。该类有3个构造函数:DatagramSocket():通常用于客户端编程,它并没有特定监听的端口,仅仅使用一个临时的。程序会让操作系统分配一个可用的端口。DatagramSocket(int port):创建实例,并固定监听Port端口的报文。通常用于服务端。

vb.net 怎样用UDP 协议 写一个聊天程序啊?如图
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.T...

如何实现两台主机之间的通信
程序的其它部分与TCP方法类似,即通过SendData 和GetData 方法发送或提取数据。UDP和TCP协 议在使用中各有特点,如果灵活使用,可以得到很好的效果。令人欣慰的是,VB5.0 中Winsock给我们提供了一种简便的数据传送方法,使我们得以轻松地实现网络点对点通信。参考资料:http:\/\/www.hqsm.com\/article\/net\/net021...

...DM9000之类的.)向上位机PC发送数据。求上位机例子程序~
Imports System.Net Public Class Form1 Inherits System.Windows.Forms.Form Private Sub bsend_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bsend.Click '创建客户端的socket Dim cClient As New Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp)...

求WPE在武林外传的用法
当服务器发送数据给客户端时,会调用下边的过程 Private Sub Server_DataArrival(ByVal bytesTotal As Long) Dim ServerToClient() As Byte 变量定义,请求了一个用于存放数据的空间 Server.GetData ServerToClient 服务器连接接收数据 在这里我们可以添加自己的代码,对封包进行修改,然后再发给客户端。Cli...

高分求解奇怪的上网现象!
如TP-Link的,我上次就是换了一个,就可以了。水星的接在二级网络里面好象是可以用的。老兄试一下再接一次水晶头,如果网线做的没有问题的话,换一下路由的好。试一下ping 192.168.1.1能不能拼通。只有发送没有接收,也就是路由器没有反应了,一是网线问题,二就是路由问题啦。

怎么才能成为电脑高手
·1、Client 发起http连接请求 ·2、Proxy 收到请求后将检查内部缓存内是否有所需内容,若有,则返还给Client。 ·3、若无,则Proxy根据请求向目的服务器发起请求。 ·4、Web服务器将内容返回到Proxy服务器。 ·5、Proxy服务器将得到的内容发回给Client,并在自己的缓存中保存一份。 Internet站点过滤系统 (一) ·...

电脑里常用的的英语有那些(汉语意思)?
第一部分、计算机算法常用术语中英对照 Data Structures 基本数据结构 Dictionaries 字典 Priority Queues 堆 Graph Data Structures 图 Set Data Structures 集合 Kd-Trees 线段树 Numerical Problems 数值问题 Solving Linear Equations 线性方程组 Bandwidth Reduction 带宽压缩 Matrix Multiplication 矩阵乘法 Deter...

相似回答