C # - Ошибка NetworkStream - «Операция не разрешена на сокетах, не ориентированных на поток». - PullRequest
1 голос
/ 11 ноября 2011

Я пытаюсь подключиться к сокету и затем прочитать NetworkStream.

Мой код указан ниже:

NetworkStream myNetworkStream;
Socket socket;

socket = new Socket(AddressFamily.InterNetwork, SocketType.Raw, ProtocolType.IPv4);

socket.Connect(IPAddress.Parse("8.8.8.8"), 8888);

myNetworkStream = new NetworkStream(socket);

byte[] buffer = new byte[1024];
int offset = 0;
int count = 1024;

myNetworkStream.Read(buffer, offset, count);

Когда я пытаюсь отладить вышеописанное, я получаю следующую ошибку:

Операция не разрешена для сокетов, не ориентированных на поток.

Что я делаю не так?

Спасибо

Ответы [ 2 ]

2 голосов
/ 11 ноября 2011

Вам нужно использовать SocketType.Stream вместо SocketType.Raw.

0 голосов
/ 20 сентября 2013

используйте это, это будет работать "Сокет (AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Unspecified)"

...