Socket Класс
В этой статье
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Реализует интерфейс сокетов Беркли.
public ref class Socket : IDisposable
public class Socket : IDisposable
type Socket = class
interface IDisposable
Public Class Socket
Implements IDisposable
- Наследование
-
Socket
- Реализации
В следующем примере показано, как Socket можно использовать класс для отправки данных на HTTP-сервер, выводя ответ ASCII на стандартные выходные данные. Этот пример блокирует вызывающий поток, пока не будет получена вся страница.
private static void SendHttpRequest(Uri? uri = null, int port = 80)
{
uri ??= new Uri("http://example.com");
// Construct a minimalistic HTTP/1.1 request
byte[] requestBytes = Encoding.ASCII.GetBytes(@$"GET {uri.AbsoluteUri} HTTP/1.0
Host: {uri.Host}
Connection: Close
");
// Create and connect a dual-stack socket
using Socket socket = new Socket(SocketType.Stream, ProtocolType.Tcp);
socket.Connect(uri.Host, port);
// Send the request.
// For the tiny amount of data in this example, the first call to Send() will likely deliver the buffer completely,
// however this is not guaranteed to happen for larger real-life buffers.
// The best practice is to iterate until all the data is sent.
int bytesSent = 0;
while (bytesSent < requestBytes.Length)
{
bytesSent += socket.Send(requestBytes, bytesSent, requestBytes.Length - bytesSent, SocketFlags.None);
}
// Do minimalistic buffering assuming ASCII response
byte[] responseBytes = new byte[256];
char[] responseChars = new char[256];
while (true)
{
int bytesReceived = socket.Receive(responseBytes);
// Receiving 0 bytes means EOF has been reached
if (bytesReceived == 0) break;
// Convert byteCount bytes to ASCII characters using the 'responseChars' buffer as destination
int charCount = Encoding.ASCII.GetChars(responseBytes, 0, bytesReceived, responseChars, 0);
// Print the contents of the 'responseChars' buffer to Console.Out
Console.Out.Write(responseChars, 0, charCount);
}
}
В следующем примере демонстрируется тот же сценарий HTTP GET с использованием асинхронных API на основе задач, а также перенаправления CancellationToken в асинхронные методы, что делает всю операцию отменяемой.
Совет
SocketАсинхронные методы, которые не принимают CancellationToken , обычно возвращают Taskобъект , выделенный в куче. Отменяемые перегрузки всегда ValueTaskвозвращаются; их использование помогает сократить выделение в высокопроизводительном коде.
private static async Task SendHttpRequestAsync(Uri? uri = null, int port = 80, CancellationToken cancellationToken = default)
{
uri ??= new Uri("http://example.com");
// Construct a minimalistic HTTP/1.1 request
byte[] requestBytes = Encoding.ASCII.GetBytes(@$"GET {uri.AbsoluteUri} HTTP/1.1
Host: {uri.Host}
Connection: Close
");
// Create and connect a dual-stack socket
using Socket socket = new Socket(SocketType.Stream, ProtocolType.Tcp);
await socket.ConnectAsync(uri.Host, port, cancellationToken);
// Send the request.
// For the tiny amount of data in this example, the first call to SendAsync() will likely deliver the buffer completely,
// however this is not guaranteed to happen for larger real-life buffers.
// The best practice is to iterate until all the data is sent.
int bytesSent = 0;
while (bytesSent < requestBytes.Length)
{
bytesSent += await socket.SendAsync(requestBytes.AsMemory(bytesSent), SocketFlags.None);
}
// Do minimalistic buffering assuming ASCII response
byte[] responseBytes = new byte[256];
char[] responseChars = new char[256];
while (true)
{
int bytesReceived = await socket.ReceiveAsync(responseBytes, SocketFlags.None, cancellationToken);
// Receiving 0 bytes means EOF has been reached
if (bytesReceived == 0) break;
// Convert byteCount bytes to ASCII characters using the 'responseChars' buffer as destination
int charCount = Encoding.ASCII.GetChars(responseBytes, 0, bytesReceived, responseChars, 0);
// Print the contents of the 'responseChars' buffer to Console.Out
await Console.Out.WriteAsync(responseChars.AsMemory(0, charCount), cancellationToken);
}
}
Дополнительные сведения об этом API см. в разделе Дополнительные примечания API для Socket.
Socket(Address |
Инициализирует новый экземпляр класса Socket, используя заданные семейство адресов, тип сокета и протокол. |
Socket(Safe |
Инициализирует новый экземпляр Socket класса для указанного дескриптора сокета. |
Socket(Socket |
Инициализирует новый экземпляр класса Socket с помощью указанного значения, возвращенного из объекта DuplicateAndClose(Int32). |
Socket(Socket |
Инициализирует новый экземпляр класса Socket, используя указанный тип сокетов и протокол. Если операционная система поддерживает протокол IPv6, этот конструктор создает сокет с двумя режимами; В противном случае создается сокет IPv4. |
Address |
Получает семейство адресов объекта Socket. |
Available |
Возвращает значение, указывающее количество полученных из сети и доступных для чтения данных. |
Blocking |
Возвращает или задает значение, определяющее, находится ли объект Socket в заблокированном режиме. |
Connected |
Получает значение, указывающее, подключается ли объект Socket к удаленному узлу в результате последней операции Send или Receive. |
Dont |
Возвращает или задает значение, указывающее, разрешает ли объект Socket выполнение фрагментации датаграмм протокола IP. |
Dual |
Возвращает или задает значение, указывающее, является ли Socket сокет с двойным режимом, используемым для IPv4 и IPv6. |
Enable |
Возвращает или задает Boolean значение, указывающее, может ли Socket объект отправлять широковещательные пакеты. |
Exclusive |
Возвращает или задает значение Boolean, указывающее, разрешает ли объект Socket привязку к порту только одного процесса. |
Handle |
Возвращает дескриптор операционной системы для объекта Socket. |
Is |
Получает значение, указывающее, привязан ли объект Socket к конкретному локальному порту. |
Linger |
Возвращает или задает значение, указывающее, будет ли объект Socket задерживать закрытие сокета при попытке отправки всех отложенных данных. |
Local |
Возвращает локальную конечную точку. |
Multicast |
Возвращает или задает значение, указывающее, могут ли доставляться исходящие пакеты многоадресной рассылки в передающем приложении. |
No |
Возвращает или задает значение Boolean, указывающее, используется ли поток Socket в алгоритме Nagle. |
OSSupports |
Указывает, поддерживают ли основная операционная система и сетевые адаптеры протокол IPv4. |
OSSupports |
Указывает, поддерживают ли основная операционная система и сетевые адаптеры протокол IPv6. |
OSSupports |
Указывает, поддерживает ли базовая операционная система сокеты доменов UNIX. |
Protocol |
Получает тип протокола объекта Socket. |
Receive |
Получает или задает значение, задающее размер приемного буфера объекта Socket. |
Receive |
Получает или устанавливает значение, указывающее промежуток времени, после которого для синхронного вызова Receive истечет время тайм-аута. |
Remote |
Возвращает удаленную конечную точку. |
Safe |
Получает SafeSocketHandle, представляющий дескриптор сокета, инкапсулируемый текущим объектом Socket. |
Send |
Получает или задает значение, определяющее размер буфера передачи объекта Socket. |
Send |
Получает или устанавливает значение, указывающее промежуток времени, после которого для синхронного вызова Send истечет время тайм-аута. |
Socket |
Возвращает тип службы Socket. |
Supports |
Устаревшие..
Устаревшие..
Устаревшие..
Возвращает значение, указывающее, доступна ли на текущем узле поддержка протокола IPv4 и включена ли эта функция. |
Supports |
Устаревшие..
Устаревшие..
Устаревшие..
Получает значение, указывающее, поддерживает ли Framework протокол IPv6 для определенных устаревших членов Dns. |
Ttl |
Получает или задает значение, задающее время существования (TTL) IP-пакетов, отправленных объектом Socket. |
Use |
Устаревшие..
Возвращает или задает значение, указывающее, должен ли сокет использовать только режим перекрывающегося ввода-вывода. В .NET 5+ (включая версии .NET Core) значение всегда |
Accept() |
Создает новый объект Socket для заново созданного подключения. |
Accept |
Принимает входящее подключение. |
Accept |
Принимает входящее подключение. |
Accept |
Принимает входящее подключение. |
Accept |
Принимает входящее подключение. |
Accept |
Начинает асинхронную операцию, чтобы принять попытку входящего подключения. |
Begin |
Начинает асинхронную операцию, чтобы принять попытку входящего подключения. |
Begin |
Начинает асинхронную операцию, чтобы принять попытку входящего подключения и получить первый блок данных, посланных клиентским приложением. |
Begin |
Начинает асинхронную операцию, чтобы принять попытку входящего подключения с указанного сокета и получить первый блок данных, посланных клиентским приложением. |
Begin |
Начинает выполнение асинхронного запроса для подключения к удаленному узлу. |
Begin |
Начинает выполнение асинхронного запроса для подключения к удаленному узлу. узел задается объектом IPAddress и номером порта. |
Begin |
Начинает выполнение асинхронного запроса для подключения к удаленному узлу. узел задается массивом IPAddress и номером порта. |
Begin |
Начинает выполнение асинхронного запроса для подключения к удаленному узлу. Узел задается именем узла и номером порта. |
Begin |
Начинает выполнение асинхронного запроса для отключения от удаленной конечной точки. |
Begin |
Начинает выполнение асинхронного приема данных с подключенного объекта Socket. |
Begin |
Начинает выполнение асинхронного приема данных с подключенного объекта Socket. |
Begin |
Начинает выполнение асинхронного приема данных с подключенного объекта Socket. |
Begin |
Начинает выполнение асинхронного приема данных с подключенного объекта Socket. |
Begin |
Начинает выполнение асинхронного приема данных с указанного сетевого устройства. |
Begin |
Начинает асинхронный прием заданного числа байтов данных в указанное место буфера данных, используя заданный объект SocketFlags, а также сохраняет конечную точку и информацию пакета. |
Begin |
Выполняет асинхронную передачу данных на подключенный объект Socket. |
Begin |
Выполняет асинхронную передачу данных на подключенный объект Socket. |
Begin |
Выполняет асинхронную передачу данных на подключенный объект Socket. |
Begin |
Выполняет асинхронную передачу данных на подключенный объект Socket. |
Begin |
Отправляет файл |
Begin |
Выполняет асинхронную передачу файла и буферов данных на подключенный объект Socket. |
Begin |
Асинхронно передает данные на конкретный удаленный узел. |
Bind(End |
Связывает объект Socket с локальной конечной точкой. |
Cancel |
Отменяет выполнение асинхронного запроса для подключения к удаленному узлу. |
Close() |
Закрывает подключение Socket и освобождает все связанные ресурсы. |
Close(Int32) |
Закрывает подключение Socket и освобождает все связанные ресурсы с заданным временем ожидания, чтобы разрешить отправку данных в очереди. |
Connect(End |
Устанавливает подключение к удаленному узлу. |
Connect(IPAddress, Int32) |
Устанавливает подключение к удаленному узлу. Узел задается IP-адресом и номером порта. |
Connect(IPAddress[], Int32) |
Устанавливает подключение к удаленному узлу. Узел задается массивом IP-адресов и номером порта. |
Connect(String, Int32) |
Устанавливает подключение к удаленному узлу. Узел задается именем узла и номером порта. |
Connect |
Устанавливает подключение к удаленному узлу. |
Connect |
Устанавливает подключение к удаленному узлу. |
Connect |
Устанавливает подключение к удаленному узлу. |
Connect |
Устанавливает подключение к удаленному узлу. |
Connect |
Устанавливает подключение к удаленному узлу. |
Connect |
Устанавливает подключение к удаленному узлу. |
Connect |
Начинает выполнение асинхронного запроса для подключения к удаленному узлу. |
Connect |
Начинает выполнение асинхронного запроса для подключения к удаленному узлу. |
Connect |
Устанавливает подключение к удаленному узлу. |
Connect |
Устанавливает подключение к удаленному узлу. |
Disconnect(Boolean) |
Закрывает подключение к сокету и позволяет повторно его использовать. |
Disconnect |
Отключает подключенный сокет от удаленного узла. |
Disconnect |
Начинает выполнение асинхронного запроса для отключения от удаленной конечной точки. |
Dispose() |
Освобождает все ресурсы, используемые текущим экземпляром класса Socket. |
Dispose(Boolean) |
Освобождает неуправляемые ресурсы, используемые объектом Socket, и при необходимости освобождает также управляемые ресурсы. |
Duplicate |
Дублирует ссылку сокета для конечного процесса и закрывает сокет для этого процесса. |
End |
Асинхронно принимает входящие попытки подключения и создает новый объект Socket для связи с удаленным узлом. Этот метод возвращает буфер, который содержит начальные данные для передачи. |
End |
Асинхронно принимает входящие попытки подключения и создает новый объект Socket для связи с удаленным узлом. Этот метод возвращает буфер, который содержит начальные данные и число переданных байтов. |
End |
Асинхронно принимает входящие попытки подключения и создает новый объект Socket для связи с удаленным узлом. |
End |
Завершает ожидающий асинхронный запрос на подключение. |
End |
Завершает ожидающий асинхронный запрос на разъединение. |
End |
Завершает отложенное асинхронное чтение. |
End |
Завершает отложенное асинхронное чтение. |
End |
Завершает отложенное асинхронное чтение с определенной конечной точки. |
End |
Завершает отложенное асинхронное чтение с определенной конечной точки. Этот метод также показывает больше информации о пакете, чем метод EndReceiveFrom(IAsyncResult, EndPoint). |
End |
Завершает отложенную операцию асинхронной передачи. |
End |
Завершает отложенную операцию асинхронной передачи. |
End |
Завершает отложенную операцию асинхронной передачи файла. |
End |
Завершает отложенную операцию асинхронной отправки в определенное местоположение. |
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
Finalize() |
Освобождает ресурсы, используемые классом Socket. |
Get |
Возвращает хэш-значение для экземпляра Socket. |
Get |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
Get |
Возвращает значение параметра сокета, используя связанные с платформой идентификаторы имени и уровня. |
Get |
Возвращает значение указанного параметра Socket, представленного в виде объекта. |
Get |
Возвращает указанное значение параметра Socket, представленного в виде байтового массива. |
Get |
Возвращает значение указанного параметра Socket в массиве. |
Get |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
IOControl(Int32, Byte[], Byte[]) |
Задает низкоуровневые операционные режимы для объекта Socket, используя цифровые коды элементов управления. |
IOControl(IOControl |
Задает низкоуровневые операционные режимы для объекта Socket, используя перечисление IOControlCode, чтобы указать коды элементов управления. |
Listen() |
Устанавливает объект Socket в состояние прослушивания. |
Listen(Int32) |
Устанавливает объект Socket в состояние прослушивания. |
Memberwise |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
Poll(Int32, Select |
Определяет состояние объекта Socket. |
Poll(Time |
Определяет состояние объекта Socket. |
Receive(Byte[]) |
Возвращает данные из связанного объекта Socket в приемный буфер. |
Receive(Byte[], Int32, Int32, Socket |
Получает указанное число байтов данных из связанного объекта Socket в приемный буфер с указанной позиции смещения, используя заданный объект SocketFlags. |
Receive(Byte[], Int32, Int32, Socket |
Получает данные из связанного объекта Socket в приемный буфер, используя заданный объект SocketFlags. |
Receive(Byte[], Int32, Socket |
Получает указанное число байтов данных из связанного объекта Socket в приемный буфер, используя заданный объект SocketFlags. |
Receive(Byte[], Socket |
Получает данные из связанного объекта Socket в приемный буфер, используя заданный объект SocketFlags. |
Receive(IList<Array |
Получает данные из связанного объекта Socket в список приемных буферов. |
Receive(IList<Array |
Получает данные из связанного объекта Socket в список приемных буферов, используя заданный объект SocketFlags. |
Receive(IList<Array |
Получает данные из связанного объекта Socket в список приемных буферов, используя заданный объект SocketFlags. |
Receive(Span<Byte>) |
Возвращает данные из связанного объекта Socket в приемный буфер. |
Receive(Span<Byte>, Socket |
Получает данные из связанного объекта Socket в приемный буфер, используя заданный объект SocketFlags. |
Receive(Span<Byte>, Socket |
Получает данные из связанного объекта Socket в приемный буфер, используя заданный объект SocketFlags. |
Receive |
Получает данные из подключенного сокета. |
Receive |
Получает данные из подключенного сокета. |
Receive |
Получает данные из подключенного сокета. |
Receive |
Получает данные из подключенного сокета. |
Receive |
Получает данные из подключенного сокета. |
Receive |
Получает данные из подключенного сокета. |
Receive |
Начинает выполнение асинхронного запроса, чтобы получить данные из подключенного объекта Socket. |
Receive |
Принимает датаграмму в буфер данных и сохраняет конечную точку. |
Receive |
Получает указанное число байтов данных в заданном расположении буфера данных с использованием определенного параметра SocketFlags и сохраняет конечную точку. |
Receive |
Получает указанное число байтов во входной буфер, используя заданный объект SocketFlags, и сохраняет конечную точку. |
Receive |
Принимает датаграмму в буфер данных, используя заданный объект SocketFlags, и сохраняет конечную точку. |
Receive |
Принимает датаграмму в буфер данных и сохраняет конечную точку. |
Receive |
Принимает датаграмму в буфер данных, используя заданный объект SocketFlags, и сохраняет конечную точку. |
Receive |
Принимает датаграмму в буфер данных, используя заданный объект SocketFlags, и сохраняет конечную точку. |
Receive |
Получает данные и возвращает конечную точку отправляющего узла. |
Receive |
Получает данные и возвращает конечную точку отправляющего узла. |
Receive |
Получает данные и возвращает конечную точку отправляющего узла. |
Receive |
Получает данные и возвращает конечную точку отправляющего узла. |
Receive |
Принимает датаграмму в буфер данных, используя заданный объект SocketFlags, и сохраняет конечную точку. |
Receive |
Начинает выполнение асинхронного приема данных с указанного сетевого устройства. |
Receive |
Получает указанное число байтов данных в указанное расположение буфера данных с помощью заданного SocketFlags и сохраняет конечную точку и сведения о пакете. |
Receive |
Получает указанное число байтов данных в указанное расположение буфера данных с помощью заданного |
Receive |
Получает данные и возвращает дополнительные сведения об отправителе сообщения. |
Receive |
Получает данные и возвращает дополнительные сведения об отправителе сообщения. |
Receive |
Получает данные и возвращает дополнительные сведения об отправителе сообщения. |
Receive |
Получает данные и возвращает дополнительные сведения об отправителе сообщения. |
Receive |
Начинает асинхронный прием заданного числа байтов данных в указанное место буфера данных, используя заданный объект SocketFlags, а также сохраняет конечную точку и информацию пакета. |
Select(IList, IList, IList, Int32) |
Определяет состояние одного или нескольких сокетов. |
Select(IList, IList, IList, Time |
Определяет состояние одного или нескольких сокетов. |
Send(Byte[]) |
Передает данные в подключенный объект Socket. |
Send(Byte[], Int32, Int32, Socket |
Отправляет указанное количество байтов данных в подключенный Socket, начиная с заданного смещения и используя заданный параметр SocketFlags. |
Send(Byte[], Int32, Int32, Socket |
Отправляет указанное количество байтов данных в подключенный Socket, начиная с заданного смещения и используя заданный параметр SocketFlags. |
Send(Byte[], Int32, Socket |
Посылает указанное число байтов данных на подключенный объект Socket, используя заданный объект SocketFlags. |
Send(Byte[], Socket |
Передает данные в подключенный объект Socket, используя заданный объект SocketFlags. |
Send(IList<Array |
Отправляет набор буферов в список на подключенный объект Socket. |
Send(IList<Array |
Отправляет набор буферов в список на подключенный объект Socket, используя указанный объект SocketFlags. |
Send(IList<Array |
Отправляет набор буферов в список на подключенный объект Socket, используя указанный объект SocketFlags. |
Send(Read |
Передает данные в подключенный объект Socket. |
Send(Read |
Передает данные в подключенный объект Socket, используя заданный объект SocketFlags. |
Send(Read |
Передает данные в подключенный объект Socket, используя заданный объект SocketFlags. |
Send |
Отправляет данные в подключенный сокет. |
Send |
Отправляет данные в подключенный сокет. |
Send |
Отправляет данные в подключенный сокет. |
Send |
Отправляет данные в подключенный сокет. |
Send |
Отправляет данные в подключенный сокет. |
Send |
Отправляет данные в подключенный сокет. |
Send |
Выполняет асинхронную передачу данных на подключенный объект Socket. |
Send |
Отправляет файл |
Send |
Отправляет файл |
Send |
Отправляет файл |
Send |
Отправляет файл |
Send |
Отправляет файл |
Send |
Выполняет асинхронную передачу набора файла или буферов данных в памяти на подключенный объект Socket. |
Send |
Посылает данные на указанную конечную точку. |
Send |
Посылает указанное число байтов данных на указанную конечную точку, начиная с заданной позиции буфера и используя указанный объект SocketFlags. |
Send |
Посылает указанное число байтов данных на указанную конечную точку, используя заданный объект SocketFlags. |
Send |
Передает данные на указанную конечную точку, используя заданный объект SocketFlags. |
Send |
Посылает данные на указанную конечную точку. |
Send |
Передает данные на указанную конечную точку, используя заданный объект SocketFlags. |
Send |
Передает данные на указанную конечную точку, используя заданный объект SocketFlags. |
Send |
Отправляет данные на указанный удаленный узел. |
Send |
Отправляет данные на указанный удаленный узел. |
Send |
Отправляет данные на указанный удаленный узел. |
Send |
Отправляет данные на указанный удаленный узел. |
Send |
Передает данные на указанную конечную точку, используя заданный объект SocketFlags. |
Send |
Асинхронно передает данные на конкретный удаленный узел. |
Set |
Задает уровень защиты IP-адресов для сокета. |
Set |
Задает значение параметра сокета, используя связанные с платформой идентификаторы имени и уровня. |
Set |
Устанавливает для заданного параметра Socket указанное значение Boolean. |
Set |
Устанавливает для указанного параметра Socket заданное значение, представленное в виде байтового массива. |
Set |
Устанавливает заданное целое значение для указанного параметра Socket. |
Set |
Устанавливает для указанного параметра Socket заданное значение, представленное в виде объекта. |
Shutdown(Socket |
Блокирует передачу и получение данных для объекта Socket. |
To |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
IDisposable. |
Этот API поддерживает инфраструктуру продукта и не предназначен для использования непосредственно из программного кода. Освобождает все ресурсы, занятые модулем Socket. |
Accept |
Выполняет асинхронную операцию для приема попыток входящего подключения через сокет. |
Accept |
Выполняет асинхронную операцию для приема попыток входящего подключения через сокет. |
Connect |
Устанавливает подключение к удаленному узлу. |
Connect |
Устанавливает подключение к удаленному узлу. |
Connect |
Устанавливает подключение к удаленному узлу. Узел задается IP-адресом и номером порта. |
Connect |
Устанавливает подключение к удаленному узлу, который указывается IP-адресом и номером порта. |
Connect |
Устанавливает подключение к удаленному узлу. Узел задается массивом IP-адресов и номером порта. |
Connect |
Устанавливает подключение к удаленному узлу, заданному массивом IP-адресов и номером порта. |
Connect |
Устанавливает подключение к удаленному узлу. Узел задается именем узла и номером порта. |
Connect |
Устанавливает подключение к удаленному узлу, заданному именем узла и номером порта. |
Receive |
Получает данные из подключенного сокета. |
Receive |
Получает данные из подключенного сокета. |
Receive |
Получает данные из подключенного сокета. |
Receive |
Получает данные из указанного сетевого устройства. |
Receive |
Получает указанное число байтов данных в указанное расположение буфера данных с помощью заданного SocketFlags и сохраняет конечную точку и сведения о пакете. |
Send |
Отправляет данные в подключенный сокет. |
Send |
Отправляет данные в подключенный сокет. |
Send |
Отправляет данные в подключенный сокет. |
Send |
Асинхронно передает данные на конкретный удаленный узел. |
Продукт | Версии |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 1.3, 1.4, 1.6, 2.0, 2.1 |
UWP | 10.0 |
В экземпляре безопасно выполнять операции отправки и получения одновременно Socket , но не рекомендуется одновременно выполнять несколько вызовов отправки или приема. В зависимости от реализации базовой платформы это может привести к непреднамеренным чередованием данных для отправки или получения больших или нескольких буферов.
- System.Net
- System.Net.Cache
- System.Net.Security
- SocketAsyncEventArgs
- Сетевое программирование в .NET Framework
- Рекомендации по использованию классов System.Net
- Управление кэшем для сетевых приложений
- Протокол IP версии 6
- Примеры сетевого программирования
- Трассировка сети в .NET Framework
- Безопасность в сетевом программировании
- Улучшения производительности сокетов в версии 3.5