ソケットに接続してからNetworkStreamを読み込もうとしています。C# - 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);
私は、私は次のエラーを取得上記デバッグしよう:
The operation is not allowed on non-stream oriented sockets.
私が間違っているのは何を?あなたがSocketType.Raw
の代わりにSocketType.Stream
を使用する必要が
おかげ
は、このエラーを得たことをしようとしました「ソケット(AddressFamily.InterNetwork、SocketType.Stream、ProtocolType.Unspecified)」を動作しません:「要求されたプロトコルがシステムに設定されていない、またはまったく実装それは存在する " – JMK
私はあなたがUDPソケットではなく、TCPソケットに接続しようとしていると信じています。ここでそのエラーメッセージを検索し、SOCK_DGRAMを指定します。 http://msdn.microsoft.com/en-us/library/windows/desktop/ms740668%28v=vs.85%29.aspx – harlam357