c# - NetworkStream错误-“该操作不允许在非面向流的套接字上”

本文关键字:套接字 错误 NetworkStream 不允许 操作 | 更新日期: 2023-09-27 18:14:06

我正在尝试连接到套接字,然后读取网络流。

我的代码如下:

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);

当我尝试调试上面的代码时,我得到以下错误:

该操作不允许在非面向流的套接字上执行。

我做错了什么?

谢谢

c# - NetworkStream错误-“该操作不允许在非面向流的套接字上”

您需要使用SocketType.Stream代替SocketType.Raw

使用它将工作"Socket(AddressFamily.InterNetwork,SocketType. net)。流,ProtocolType.Unspecified)"