Можно, бинди. Просто нужно открыть сокет на прослушивание на определённом порту. И принимать входящие подключения.
| Код | using System; using System.Collections.Generic; using System.Text; using System.Net.Sockets; using System.Net;
namespace EchoServer { class ChatClient : TcpClient { private TcpClient _client; private string _clientIP;
private byte[] data;
public ChatClient(TcpClient client) { _client = client; _clientIP = client.Client.RemoteEndPoint.ToString();
data = new byte[_client.ReceiveBufferSize];
_client.GetStream().BeginRead(data, 0, Convert.ToInt32(_client.ReceiveBufferSize), ReceiveMessage, null); }
public void ReceiveMessage(IAsyncResult ar) { int bytesRead;
try { lock(_client.GetStream()) { bytesRead = _client.GetStream().EndRead(ar); }
if (bytesRead == 0) { Console.WriteLine("Client left"); return; }
string messageReceived; messageReceived = Encoding.ASCII.GetString(data, 0, bytesRead); Console.Write(messageReceived);
lock (_client.GetStream()) { _client.GetStream().BeginRead(data, 0, Convert.ToInt32(_client.ReceiveBufferSize), ReceiveMessage, null); }
} catch(Exception) { } } }
class Program { static void Main(string[] args) { IPAddress localAddr = IPAddress.Parse("10.0.0.216"); TcpListener listener = new TcpListener(localAddr, 123);
listener.Start();
ChatClient client = new ChatClient(listener.AcceptTcpClient());
Console.ReadLine(); } } }
|
|