首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

无解java:模拟聊天程序,异常信息java.net.ConnectException: Connection refused: connect

2012-01-12 
无解java:模拟聊天程序,错误信息java.net.ConnectException: Connection refused: connect本人跟着老师写

无解java:模拟聊天程序,错误信息java.net.ConnectException: Connection refused: connect
本人跟着老师写了一个模拟java聊天的程序,可是我写了在win7下运行不成功,报错信息如下:
java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:519)
at java.net.Socket.connect(Socket.java:469)
at java.net.Socket.<init>(Socket.java:366)
at java.net.Socket.<init>(Socket.java:180)
at com.briup.net.SocketChat.client(SocketChat.java:81)
at com.briup.net.SocketChat.main(SocketChat.java:28)
还请高手救救小弟啊,,老师也木有给我解决啊···求助啊···

源码如下:(老师那里可以运行的)

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.UnknownHostException;

public class SocketChat {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

if(args.length>0){
server();
}
else{
client();
}
}

//服务端程序
public static void server(){
System.out.println("==========server run window===========");
try {
ServerSocket ss = new ServerSocket(9999);
Socket s = ss.accept();

InputStream is = s.getInputStream();
BufferedInputStream bis = new BufferedInputStream(is);
DataInputStream dis = new DataInputStream(bis);


OutputStream os = s.getOutputStream();
BufferedOutputStream bos = new BufferedOutputStream(os);
DataOutputStream dos = new DataOutputStream(bos);

//字符输入流的对象
InputStreamReader isr = new InputStreamReader(System.in);//可以将一个字节输入流转换为字符流
BufferedReader br = new BufferedReader(isr);

String info;
while(true){
info = dis.readUTF();
System.out.println("client say: "+info);

if(info.equals("bye")){
break;
}


info = br.readLine();
dos.writeUTF(info);
dos.flush();
if(info.equals("bye")){
break;
}
}

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

//客户端程序
public static void client(){
System.out.println("==========client run window===========");
try {
Socket s = new Socket("127.0.0.1",9999);

OutputStream os = s.getOutputStream();
BufferedOutputStream bos = new BufferedOutputStream(os);
DataOutputStream dos = new DataOutputStream(bos);

InputStream is = s.getInputStream();
BufferedInputStream bis = new BufferedInputStream(is);
DataInputStream dis = new DataInputStream(bis);

InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);

String info;
while(true){
info = br.readLine();
dos.writeUTF(info);
dos.flush();
if(info.equals("bye")){
break;
}
info = dis.readUTF();
System.out.println("server say: " + info);
if(info.equals("bye")){
break;
}
}


} catch (UnknownHostException e) {


// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
}


跪求各位高手路过指点。。。。小弟感激不尽啊····

[解决办法]
Socket s = new Socket("127.0.0.1",9999);
ping 下localhost看是否为127.0.0.1,或者看看又没有9999端口
[解决办法]
通常来说你的机器本身就是127.0.0.1也是就localhost
我认为你这是在同一台机器上测试
可以自己找另一台机器测试
[解决办法]
有可能是ipv6的原因localhost的ip并不是127.0.0.1了
你用Socket s = new Socket("localhost",9999);试试

[解决办法]
你的main方法,有问题!

Java code
public static void main(String[] args) {// TODO Auto-generated method stubif(args.length>0){server();}else{client();}}
[解决办法]
你这是ipv6无疑的啦
用这个试试
Socket s = new Socket(InetAddress.getLocalHost(),9999)
[解决办法]
改成你自己的IP试试
[解决办法]
哪一行挂的?
[解决办法]
多试试别的端口(1024以上的)查查你的9999端口有没有被占用:netstat -nao,记下pid去资源管理器找程序;
看看你的端口是不是被防火墙屏掉了,一定是你电脑的问题了
[解决办法]
TCP/IP给禁掉了..

热点排行
Bad Request.