gpt4 book ai didi

C# - 向 IP 地址和端口发送和接收 TCP/IP 消息

转载 作者:可可西里 更新时间:2023-11-01 02:34:01 25 4
gpt4 key购买 nike

我有以下代码可以将 TCP/IP 消息发送到特定的 IP 地址和端口:

public bool sendTCPMessage(string ip_address, string port, string transaction_id, string customer_username, DateTime date)
{
bool success = false;

try
{
int converted_port = Convert.ToInt32(port);
string converted_date = date.ToString("dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture);

JObject obj = new JObject();
obj["Transaction_Status"] = "Paid";
obj["Transaction_ID"] = transaction_id;
obj["Processed_Date"] = converted_date;
obj["Customer_Username"] = customer_username;

JSONMobile json_mobile = new JSONMobile();
string json = json_mobile.SerializeToString(obj);

TcpClient client = new TcpClient(ip_address, converted_port);
Byte[] message = System.Text.Encoding.ASCII.GetBytes(json);
NetworkStream stream = client.GetStream();
stream.Write(message, 0, message.Length);
stream.Close();
client.Close();

success = true;
}
catch (Exception)
{
success = false;
}
return success;
}

现在,让我们假设我将 ip_address 传递为“127.0.0.1”,将端口传递为“1”。当该方法执行时,出现以下异常:

enter image description here

发生这种情况是因为另一端没有人在听吗?如果是,我如何在该 IP 地址(好吧,不是 0.0.0.45 而是 127.0.0.1)和端口号上设置服务器以接受消息并回复它?谢谢:)

最佳答案

你需要一个 TcpListener对象充当服务器。 TcpListener 对象将监听指定端口上的传入连接。您可以使用 .AcceptTcpClient建立新连接的方法。 (如果你想要多个客户端,你必须研究多线程)

此外,使用端口 1 是不好的做法,较低的端口号通常保留给系统内容或标准协议(protocol),例如 telnetftphttp

关于C# - 向 IP 地址和端口发送和接收 TCP/IP 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17400296/

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