我是这样写的,发送端:UdpClient client = new UdpClient();
IPEndPoint ep = new IPEndPoint(IPAddress.Parse(row.Cells[1].Value.ToString()), 7901);
client.Send(Encoding.UTF8.GetBytes(textBox1.Text.ToCharArray()), textBox1.Text.Length, ep);
然后接受端:     UdpClient client = new UdpClient(7901);
            IPEndPoint ep = null;
     byte[] data = client.Receive(ref ep);
     string data_receive = Encoding.UTF8.GetString(data);
收到后string data_receive显示出来时乱码 一个口
求高手看看哪出问题

解决方案 »

  1.   

    refer:
    UdpClient client = new UdpClient();
                IPEndPoint ep = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 7901);
                byte[] bytes = Encoding.UTF8.GetBytes("guwei4037");
                client.Send(bytes, bytes.Length, ep);
      

  2.   

    引用 是我大意,发帖子时候贴错了,我代码里写的和你的一样的,发英文字符串正常,发中午就乱码
    代码我是经过测试才提交上来的,中文也是可以的。你可以直接替换我给的那个guwei4037为你所要的中文。
      

  3.   

    textBox1.Text.ToCharArray()
    不需要ToCharArray()
      

  4.   

    GetBytes也支持char[],所以ToCharArray不是重要的,也可以。重要的是client.Send方法,第二个参数应该是bytes的length,而不是text.length。