写一个c#的p2p程序代码
时间: 2023-08-02 19:39:32 浏览: 73
下面是一个简单的C# P2P程序代码示例,实现了基于UDP协议的P2P通信,可以相互发送文本消息:
```csharp
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
class Program
{
static void Main(string[] args)
{
Console.Write("请输入本地IP地址:");
string localIP = Console.ReadLine();
Console.Write("请输入本地端口号:");
int localPort = int.Parse(Console.ReadLine());
Console.Write("请输入远程IP地址:");
string remoteIP = Console.ReadLine();
Console.Write("请输入远程端口号:");
int remotePort = int.Parse(Console.ReadLine());
UdpClient udpClient = new UdpClient(localPort);
udpClient.JoinMulticastGroup(IPAddress.Parse(remoteIP));
IPEndPoint remoteEP = new IPEndPoint(IPAddress.Parse(remoteIP), remotePort);
IPEndPoint localEP = new IPEndPoint(IPAddress.Parse(localIP), localPort);
Console.WriteLine("P2P聊天程序已启动,输入quit退出程序");
while (true)
{
Console.Write("请输入要发送的消息:");
string message = Console.ReadLine();
if (message == "quit")
{
break;
}
byte[] data = Encoding.UTF8.GetBytes(message);
udpClient.Send(data, data.Length, remoteEP);
Console.WriteLine("已发送消息:{0}", message);
data = udpClient.Receive(ref localEP);
message = Encoding.UTF8.GetString(data);
Console.WriteLine("收到消息:{0}", message);
}
udpClient.Close();
Console.WriteLine("程序已退出");
Console.ReadKey();
}
}
```
注意,这个示例代码只是一个简单的P2P程序示例,实际使用时需要加入更多的安全性、可靠性和稳定性措施。