IPAddress local = IPAddress.Parse(Dns.GetHostAddresses(Dns.GetHostName())[0].ToString());
IPEndPoint iep = new IPEndPoint(local, 13000);
server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
server.Bind(iep);
server.Listen(20);
Console.Write("等待客户机进行连接......");
while (true)
{
Socket client = server.Accept();
zxclient news = new zxclient(client);
Thread newthraed = new Thread(news.ClientServer);
newthraed.Start();
}下边报着个错误
通常每个套接字地址(协议/网络地址/端口)只允许使用一次。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Net.Sockets.SocketException: 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。源错误:
行 23: IPEndPoint iep = new IPEndPoint(local, 13000);
行 24: server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
行 25: server.Bind(iep);
行 26: server.Listen(20);
行 27: Console.Write("等待客户机进行连接......");
高手帮忙解决一下
IPEndPoint iep = new IPEndPoint(local, 13000);
server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
server.Bind(iep);
server.Listen(20);
Console.Write("等待客户机进行连接......");
while (true)
{
Socket client = server.Accept();
zxclient news = new zxclient(client);
Thread newthraed = new Thread(news.ClientServer);
newthraed.Start();
}下边报着个错误
通常每个套接字地址(协议/网络地址/端口)只允许使用一次。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Net.Sockets.SocketException: 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。源错误:
行 23: IPEndPoint iep = new IPEndPoint(local, 13000);
行 24: server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
行 25: server.Bind(iep);
行 26: server.Listen(20);
行 27: Console.Write("等待客户机进行连接......");
高手帮忙解决一下
你的线程用法不对吧
Thread newthraed = new Thread(new threadstrar(news.ClientServer));
这样写试试
public Socket service;
int i;
public zxclient(Socket clientsocket)
{
this.service = clientsocket;
}
public void ClientServer()
{
string data = null;
byte[] bytes = new byte[1024];
if (service != null)
{
connection++;
}
Console.Write("当前连接用户" + connection + "");
while ((i = service.Receive(bytes)) != 0)
{
Console.Write("收到的数据:" + data + "");
data = data.ToUpper();
byte[] msg = Encoding.ASCII.GetBytes(data);
service.Send(msg);
Console.Write("发送的数据:" + data + "");
}
service.Close();
connection--;
Console.Write("客户关闭了连接" + connection + "");
}