Хотя ничто не мешает вам написать весь низкоуровневый сетевой код самостоятельно, использование библиотеки, безусловно, является отличным способом сэкономить массу времени и стресса, время, которое вы можете потратить с большей пользой на улучшение своего собственного приложения.
Здесь еще не упоминалась библиотека networkComms.net. Он имеет множество сложных функций (таких как сериализация, сжатие и шифрование), но, учитывая конкретное количество соединений, он способен обрабатывать более 1000 соединений со скоростью передачи 1 Гбит/с+. Существует простая статья о том, как создать быстрое клиент-серверное приложение но вкратце вы можете отправлять и получать следующим образом.
Отправлять:
//This is the simplest way to send with more advanced options also available
//Parameters are message type, IP address, port and the object to send
NetworkComms.SendObject("Message", "127.0.0.1", 10000, "Networking in one line!")
Получить:
//We need to define what happens when packets are received.
//To do this we add an incoming packet handler for
//a 'Message' packet type.
//
//This handler will automatically convert the incoming raw bytes into a string
//(this is what the <string> bit does) and then write that string to the
//local console window.
NetworkComms.AppendGlobalIncomingPacketHandler<string>("Message", (packetHeader, connection, incomingString) => { Console.WriteLine("\n ... Incoming message from " + connection.ToString() + " saying '" + incomingString + "'."); });
//Start listening for incoming 'TCP' connections. The true
//parameter means try to use the default port and if that
//fails just choose a random port.
//See also UDPConnection.StartListening()
TCPConnection.StartListening(true);
Отказ от ответственности: я являюсь одним из разработчиков этой библиотеки.
person
MarcF
schedule
11.02.2013