客户端(加重连)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net;
using System.Net.Sockets;
using System.Threading;
namespace UDP_client
{
class Program
{
static Socket client;
static void Main(string[] args)
{
client = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
Thread t = new Thread(sendMsg);
t.Start();
Thread t2 = new Thread(ReciveMsg);
t2.Start();
Console.WriteLine("客户端已经开启");
while(true)
{
Thread.Sleep(10);
}
}
static void sendMsg()
{
EndPoint point = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 6001);
long index = 0;
while (true)
{
try {
string msg = "Client Send:" + DateTime.Now.ToFileTime().ToString() ;
client.SendTo(Encoding.UTF8.GetBytes(msg), point);
}
catch
{
}
Thread.Sleep(100);
}
}
static void ReciveMsg()
{
while (true)
{
try
{
EndPoint point = new IPEndPoint(IPAddress.Any, 0);
byte[] buffer = new byte[1024];
int length = client.ReceiveFrom(buffer, ref point);
string message = Encoding.UTF8.GetString(buffer, 0, length);
Console.WriteLine(point.ToString() + message);
}
catch
{
try
{
client.Close();
}
catch
{
}
client = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
Thread.Sleep(100);
}
}
}
}
}
服务端(加重连)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net.Sockets;
using System.Net;
using System.Threading;
namespace UDP_Server
{
class Program
{
static Socket server;
static void Main(string[] args)
{
server = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
server.Bind(new IPEndPoint(IPAddress.Parse("127.0.0.1"), 6001));
Console.WriteLine("服务端已经开启");
Thread t = new Thread(ReciveMsg);
t.Start();
Thread t2 = new Thread(sendMsg);
t2.Start();
while (true)
{
Thread.Sleep(10);
}
}
static void sendMsg()
{
EndPoint point = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 6000);
while (true)
{
try
{
string msg ="Server Send:" + DateTime.Now.ToFileTime().ToString();
server.SendTo(Encoding.UTF8.GetBytes(msg), point);
}
catch
{
Thread.Sleep(100);
}
}
}
static void ReciveMsg()
{
while (true)
{
try
{
EndPoint point = new IPEndPoint(IPAddress.Any, 0);
byte[] buffer = new byte[1024];
int length = server.ReceiveFrom(buffer, ref point);
string message = Encoding.UTF8.GetString(buffer, 0, length);
Console.WriteLine(point.ToString() + message);
}
catch
{
try
{
server.Close();
}
catch
{
}
server = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
server.Bind(new IPEndPoint(IPAddress.Parse("127.0.0.1"), 6001));
Thread.Sleep(100);
}
}
}
}
}