C#-网络流错误-“;不允许在非面向流的套接字上执行此操作。”;

C#-网络流错误-“;不允许在非面向流的套接字上执行此操作。”;,c#,sockets,networkstream,C#,Sockets,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(soc

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

我的代码如下:

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);
当我尝试调试上述程序时,会出现以下错误:

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

我做错了什么


谢谢

您需要使用
SocketType.Stream
代替
SocketType.Raw
使用此选项它会工作“Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Unspecified)”

尝试过,得到了此错误:“请求的协议尚未配置到系统中,或者它的实现不存在”我相信您正在尝试连接到UDP套接字,而不是TCP套接字。在此处搜索该错误消息,它将指定SOCK_DGRAM。