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)