UpdServer:
using System;
using System.Net;
using System.Net.Sockets;
using System.Threading;
using System.Text;
namespace UpdServer
{
class Program
{
static void Main(string[] args)
{
Server server = new Server();
server.StartUp();
}
}
public class Server
{
private Socket _server;
private string _ip = "192.168.30.35";
private int _port = 10000;
private EndPoint endPointRef;
public void StartUp()
{
_server = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
EndPoint endPoint = new IPEndPoint(IPAddress.Parse(_ip), _port);
_server.Bind(endPoint);
endPointRef = new IPEndPoint(IPAddress.Any, 0);
Thread _receiveClientMsg = new Thread(ReceiveClientMsg);
_receiveClientMsg.Start();
}
public void ReceiveClientMsg()
{
byte[] msgBytes = new byte[1024 * 64];
while (true)
{
int len = _server.ReceiveFrom(msgBytes, ref endPointRef);
Console.WriteLine("111111111111111111");
string str = Encoding.UTF8.GetString(msgBytes, 0, len);
IPEndPoint clientEndPoint = endPointRef as IPEndPoint;
Console.WriteLine("Receive {0} : {1} : {2}", clientEndPoint.Address.ToString(), clientEndPoint.Port, str);
Send("Server Message", endPointRef);
}
}
public void Send(string str,EndPoint target)
{
_server.SendTo(Encoding.UTF8.GetBytes(str), target);
}
}
}
UpdClient:
using System;
using System.Net;
using System.Net.Sockets;
using System.Threading;
using System.Text;
namespace UpdClient
{
class Program
{
static void Main(string[] args)
{
Client client = new Client();
client.StartUp();
while(true)
{
client.Send(Console.ReadLine());
}
}
}
public class Client
{
private Socket _client;
private string _serverIP = "192.168.30.35";
private string _clientIP = "192.168.30.35";
private int _port = 10000;
private int _port1 = 10001;
private EndPoint _serverEndPoint;
private EndPoint _clientEndPoint;
public void StartUp()
{
_client = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
_serverEndPoint = new IPEndPoint(IPAddress.Parse(_serverIP), _port);
_clientEndPoint = new IPEndPoint(IPAddress.Parse(_clientIP), _port1);
_client.Bind(_clientEndPoint);
Thread _receiveServerMsg = new Thread(ReceiveServerMsg);
_receiveServerMsg.Start();
}
public void ReceiveServerMsg()
{
while(true)
{
EndPoint endPoint = new IPEndPoint(IPAddress.Any, 0);
byte[] msgBytes = new byte[1024 * 64];
int len = _client.ReceiveFrom(msgBytes, ref endPoint);
string str = Encoding.UTF8.GetString(msgBytes, 0, len);
IPEndPoint clientEndPoint = endPoint as IPEndPoint;
Console.WriteLine("Receive {0} : {1} : {2}", clientEndPoint.Address.ToString(), clientEndPoint.Port, str);
}
}
public void Send(string str)
{
_client.SendTo(Encoding.UTF8.GetBytes(str), _serverEndPoint);
}
}
}