gpt4 book ai didi

C# 不允许发送或接收数据的请求,因为套接字未连接

转载 作者:行者123 更新时间:2023-12-03 11:54:13 24 4
gpt4 key购买 nike

所以我试图发送一个数据包,但我一直收到这个错误
任何帮助都是极好的!
非常感谢!
错误信息:
不允许发送或接收数据的请求,因为未连接套接字并且(当使用 sendto 调用在数据报套接字上发送时)未提供地址
代码:

    private void button1_Click(object sender, EventArgs e)
{
byte[] packetData = Encoding.ASCII.GetBytes(textBox1.Text);

const string ip = "127.0.0.1";
const int port = 5588;


var ep = new IPEndPoint(IPAddress.Parse(ip), port);


var client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
client.SendTo(packetData, ep);
}
}
}

最佳答案

var client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)



这将创建一个将使用 TCP(这是一种流协议(protocol))的套接字。如果您想调用 Socket.SendTo在面向连接的套接字上,您必须首先通过调用 Socket.Connect 来连接它.

如果您只打算发送数据报,则使用 UDP 是一个更好的选择,它根本不需要连接。

var client = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp)

关于C# 不允许发送或接收数据的请求,因为套接字未连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24657557/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com