IPAddress ServerIp = GetServerIP(); IPEndPoint iep = new IPEndPoint(ServerIp, 8000);
socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); Control.CheckForIllegalCrossThreadCalls = false; socket.Bind(iep); socket.Listen(1); // 这句报错。错误如下:System.Net.Sockets.SocketException: The attempted operation is not supported for the type of object referenced
at System.Net.Sockets.Socket.Listen(Int32 backlog)
at SOCKET.Form1.ls() in C:\Documents and Settings\daniel\Desktop\c#学习笔记\c#网络编程\SOCKET\SOCKET\Form1.cs:line 63
如果
socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);换成tcp的如下 socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);则不报错,请指教
socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); Control.CheckForIllegalCrossThreadCalls = false; socket.Bind(iep); socket.Listen(1); // 这句报错。错误如下:System.Net.Sockets.SocketException: The attempted operation is not supported for the type of object referenced
at System.Net.Sockets.Socket.Listen(Int32 backlog)
at SOCKET.Form1.ls() in C:\Documents and Settings\daniel\Desktop\c#学习笔记\c#网络编程\SOCKET\SOCKET\Form1.cs:line 63
如果
socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);换成tcp的如下 socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);则不报错,请指教
面向联接的才需要调用listen
http://www.cnblogs.com/supercode/articles/159751.html