Ответ 1
Проблема с SimplSockets в том, что я не понял, как использовать делегат, необходимый в конструкторе.
Ниже приведен пример клиента/сервера, который перекликается с данными, указанными вами. Я понятия не имею, что я должен делать вместо Thread.Sleep()
, поэтому я оставляю это там, если у кого-то нет лучшего предложения.
private static void ConnectUsingSimpleSockets()
{
int maxClients = 50;
int maxPeers = 10;
var socketCreator = () => new System.Net.Sockets.Socket(SocketType.Stream, ProtocolType.Tcp);
using (var client = new SimplSockets.SimplSocket(socketCreator, 5000, 10, true))
{
client.MessageReceived += client_MessageReceived;
client.Error += client_Error;
var ss = new System.Net.IPEndPoint(BitConverter.ToInt32(IPAddress.Parse("127.0.0.1").GetAddressBytes(), 0), 4747);
if (client.Connect(ss))
{
Console.WriteLine("type something..");
while (true)
{
string resul = Console.ReadLine();
byte[] data = client.SendReceive(UTF8Encoding.UTF8.GetBytes("Client Send: " + resul + DateTime.Now));
if (data == UTF8Encoding.UTF8.GetBytes("END"))
{
break;
}
Console.WriteLine(UTF8Encoding.UTF8.GetString(data));
}
}
client.Close();
client.Listen(ss);
while (true)
{
Console.WriteLine("sleeping");
Thread.Sleep(7000);
}
client.Close();
}
}