读书人

Socket下的“由于目标机器积极拒绝无

发布时间: 2011-12-23 23:32:01 作者: rapoo

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)

读书人网 >C#

热点推荐