Сокети
Клієнт
//---create a TCPClient object at the IP and port no.---
TcpClient client = new TcpClient(SERVER_IP, PORT_NO);
NetworkStream nwStream = client.GetStream();
byte[] bytesToSend = Encoding.UTF8.GetBytes();
//---send the text---
Console.WriteLine("Sending: ");
nwStream.Write(bytesToSend, 0, bytesToSend.Length);
////---read back the text---
//byte[] bytesToRead = new byte[client.ReceiveBufferSize];
//int bytesRead = nwStream.Read(bytesToRead, 0, client.ReceiveBufferSize);
//Console.WriteLine("Received : " + Encoding.UTF8.GetString(bytesToRead, 0, bytesRead));
nwStream.Close();
client.Close();
Сервер (має бути підключеним до інтернету напряму, без роутера)
private static void Server()
{
//---listen at the specified IP and port no.---
IPAddress localAdd = IPAddress.Parse(SERVER_IP);
TcpListener listener = new TcpListener(localAdd, PORT_NO);
Console.WriteLine("Listening... " + DateTime.Now);
listener.Start();
//---incoming client connected---
TcpClient client = listener.AcceptTcpClient();
//---get the incoming data through a network stream---
NetworkStream nwStream = client.GetStream();
byte[] buffer = new byte[client.ReceiveBufferSize];
//---read incoming stream---
int bytesRead = nwStream.Read(buffer, 0, client.ReceiveBufferSize);
//---convert the data received into a string---
string dataReceived = Encoding.UTF8.GetString(buffer, 0, bytesRead);
Console.WriteLine("Received: " + dataReceived);
//IP відпавника
string IP = string.Empty;
Console.WriteLine(IP = client.Client.RemoteEndPoint.ToString());
client.Close();
listener.Stop();
}