第一段,是我启动Android工程的代码.
public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        btn = (Button)findViewById(R.id.button);
        btn.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
try {
Log.i("info", "等待用户");
ServerSocket serverSocket = new ServerSocket(8000);
Socket socket = serverSocket.accept();
Log.i("info", "用户进来");
InputStream is = socket.getInputStream();
byte[] b = new byte[1024];
int temp = 0;
while((temp = is.read(b)) > 0){
String s = new String(b, 0, temp);
System.out.println(s);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
    }
第二段是普通Java工程连接我自己开的ServerSocket的代码:public class Client1 {
public static void main(String[] args) throws UnknownHostException, IOException {
Socket socket = new Socket("127.0.0.1", 8000);
InputStream is = new FileInputStream("E://记录.txt");
OutputStream os = socket.getOutputStream();
byte[] b = new byte[1024];
int temp = 0;
while((temp = is.read(b)) > 0){
os.write(b, 0, temp);
}
os.flush();
}
}
直接报错:
Exception in thread "main" java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at Client1.main(Client1.java:11)
为什么啊....我哪里错了?

解决方案 »

  1.   

    Socket socket = new Socket("127.0.0.1", 8000);连接不到你IP 没对,android 的默认PC IP: 10.0.2.2
      

  2.   

    我输入了你这个地址,,,报错:
    Exception in thread "main" java.net.ConnectException: Connection timed out: connect
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.PlainSocketImpl.doConnect(Unknown Source)
    at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
    at java.net.PlainSocketImpl.connect(Unknown Source)
    at java.net.SocksSocketImpl.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at java.net.Socket.<init>(Unknown Source)
    at java.net.Socket.<init>(Unknown Source)
    at Client1.main(Client1.java:11)
    说连接超时了..
      

  3.   

    你看看这个
    http://blog.csdn.net/q445697127/article/details/7802883