日期:2014-05-20  浏览次数:20912 次

Socket下的“由于目标机器积极拒绝,无法连接”错误
服务器端:

public   class   Server
{
TcpListener   TcpListener;
IPEndPoint   server;
Socket   Client;
Thread   Listener;
Client_Thread   clt_thrd;

public   Server()
{
server=new   IPEndPoint(IPAddress.Parse( "127.0.0.1 "),12121);
TcpListener=new   TcpListener(server);
Listener=new   Thread(new   ThreadStart(this.listen));
}
                            }

客户端:


public   class   Client
{
Thread   client_run;
Socket   client;
byte[]   recieve=new   byte[1024];
string   recvstr;

public   Client()
{
try
{
client=new   Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.IP);
client.Connect(new   IPEndPoint(IPAddress.Parse( "127.0.0.1 "),12121));
client_run=new   Thread(new   ThreadStart(this.Recieve));
client_run.Start();
}
catch(Exception   excp)
{
Console.WriteLine(excp.Message);
}
}
                                  }

防火墙已经关闭,端口未被占用。

------解决方案--------------------
出现这种异常,一般是由于IP和Port设置的有问题...

但感觉你的没啥问题..

要不试下将Port改成13000,或者其他试试看?
------解决方案--------------------
用command 命令 netstat -a 检查你的Server端口是否已经处于监听状态
------解决方案--------------------
IPHostEntry ipHostInfo = Dns.Resolve(Dns.GetHostName());
IPAddress ipAddress = ipHostInfo.AddressList[0];
如果你是在联网状态下那么ip肯定不是127.0.0.1,试试以上的方法获取IP地址。
------解决方案--------------------
IP不对,我也遇到过,不是防火墙的问题的话按下面方法应该能解决

局域网的话用局域网IP,比如192.168.1.120

ADSL的话用互联网的IP

我在公司用局域网的IP,在家的ADSL用互联网的IP

小区宽带之类的没试过


------解决方案--------------------
确保目标机对应端口是打开的(有Receive才能Send)