流代码传输UDP,但未被服务器确定读取

本文关键字:服务器 读取 代码 传输 UDP | 更新日期: 2023-09-27 18:23:46

我正在使用Flowcode技术对微控制器16F877A进行编程。

根据流程代码,我将3字节UDP数据包发送到端口23456上侦听的服务器。

问题是服务器永远不会接收到这些数据包。我使用wireshark进行跟踪,它能够检测到3个字节及其内容。

下面是我使用c#的服务器代码

const int port_number=23456;
TcpListener server=new TcpListener( IPAddress.Any ,port_number);
Socket soc;
NetworkStream s; 
bool exit=false; 
Thread mythread;

线程代码在这里

void method()
    {
        try
        {
            server.Start();
            soc = server.AcceptSocket();
            s = new NetworkStream(soc);
            StreamReader sr = new StreamReader(s);
            textBox1.Text += sr.ReadLine();
            if(soc.Connected==true && exit==false)
            method();                   
        }
        catch(Exception es)
        {
            Console.WriteLine("{0}",es.Message);
        }
    }

你认为我需要改变什么才能读取并处理这3个字节吗。

我真的很感激你的帮助。

流代码传输UDP,但未被服务器确定读取

您正在使用TcpListening,但您正在发送UDP数据包?尝试UDPClient类:http://msdn.microsoft.com/en-us/library/system.net.sockets.udpclient.aspx

编辑详细说明一下。TCP客户端永远不会接收UDP数据包,因为TCP和UDP是套接字级别的两个独立协议。套接字将看到您正在侦听TCP连接,它将接收UDP数据报,看不到侦听器,并将其丢弃。