TcpListener使用时 问题描述如下:
使用它建立的服务,只有在本机上的客户端可以连接,其他局域网的电脑连接不上。代码如下
public void ProcessConnection(Object client)
{
TcpClient tcpClient = (TcpClient)client;
NetworkStream networkStream = tcpClient.GetStream();
BinaryReader br = new BinaryReader(networkStream);
BinaryWriter bw = new BinaryWriter(networkStream);
while (true)
{
try
{
string sReader = br.ReadString(); //接收消息
Console.WriteLine(sReader); //打印消息
string sWriter = "接收到消息";
bw.Write(sWriter); //向对方发送消息
}
catch
{
break;
}
}
}
static Int32 port = 6001;
static IPAddress localAddr = IPAddress.Parse("192.168.3.210");
TcpListener server = new TcpListener(localAddr, port);
TcpClient tcpClient;
server.Start(); //开始监听
while (true)
{
try
{
tcpClient = server.AcceptTcpClient();//每接受一个客户端则生成一个TcpClient
Thread thread = new Thread(ProcessConnection); //用一个线程单独处理这个连接
thread.Start(tcpClient);
}
catch
{
break;
}
}
高手帮帮忙,看看这是什么问题,我的这些代码也是其他博主贴出来的代码。
你可以看下你的机器有没有开防火墙?
应该不是防火墙的问题,我用其他的软件调试了下,正常连接的。
肯定要去确认一下,打开防火墙看一看, 两台电脑都要确认一下.... 两台电脑都是ping的. 等等基本条件,代码没啥问题的. 主要是环境