Как связал alexanderb, действительно существует поддержка сокетов .NET в пространстве имен System.Net.Sockets.Как я только что закончил с коллегой, веб-сервис WCF, который взаимодействует с сервисом на основе сокетов в Корее.Мы просто отправляем некоторую информацию и получаем некоторую информацию обратно, быстро и аккуратно.Вот пример некоторого кода sockety:
const string ipAddressString = "xxx.xxx.xxx.xxx";// replace with correct IP address
IPAddress ipAddress = IPAddress.Parse(ipAddressString);
const int portNum = 1234;// replace with correct port
IPEndPoint remoteEndPoint = new IPEndPoint(ipAddress, portNum);
Socket client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
client.Connect(remoteEndPoint);
string sendString = "some stuff you want to send";
byte[] bytes = Encoding.UTF8.GetBytes(sendString.ToString());
client.Send(bytes);
byte[] receiveBuffer = new byte[128];
client.Receive(receiveBuffer, 0, receiveBuffer.Length, SocketFlags.None);
string bufferString = Encoding.GetEncoding(949).GetString(receiveBufferSize);
client.Shutdown(SocketShutdown.Both);
client.Close();
try-catches и тому подобное были опущены, чтобы сохранить его как можно более простым и ориентированным на сокеты.Ключевые выводы здесь - это конструкция Socket, Connect()
, Send()
и Receive()
.Также Shutdown()
и Close()
.Обратите внимание, что примерно три дня назад я думал, что на стене есть штуцер, в который вы вставляете вещи, так что это должно быть довольно элементарно.Но эй, это работает!