android做的客户端,连接本地,在socket连接的地方报错,各位知道怎么回事吗?
代码:android端:
package com.android;import java.io.IOException;
import java.io.InputStream;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;public class NetworkClientActivity extends Activity {
    private TextView myTextView;
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        myTextView=(TextView)findViewById(R.id.msgTextView01);
        myTextView.setText("dd");
        try {
        
Socket socket=new Socket("192.168.1.115",10000);

InputStream in=socket.getInputStream();
byte[]buffer=new byte[in.available()];
in.read(buffer);
String msg=new String(buffer);
myTextView.setText(msg);
} catch (UnknownHostException e) {

e.printStackTrace();
} catch (IOException e) {
 
e.printStackTrace();
}
    }
}
服务器端:
package com.server;import java.io.IOException;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;public class Myserver {
public static void main(String[] args) {
try {
ServerSocket server=new ServerSocket(10000);
while(true){
Socket client=server.accept();
OutputStream out=client.getOutputStream();
String msg="Hello android";
out.write(msg.getBytes());
client.close();

}
} catch (IOException e) {

e.printStackTrace();
}
}}

解决方案 »

  1.   

    谁知道啊,这个android的程序如果改成java project就没问题
      

  2.   

    报这个错误
    java.net.PlainSocketImpl.connect(no source)
      

  3.   

    哎,明白了,这个根本就做不到,android模拟器不提供支持。有真机就行了。
      

  4.   

    记得 要在xml 开启网络的连接的权限哈 亲~
      

  5.   

    用telnet进行下端口绑定
    1.打开cmd
    2.输入telnet localhost 5554(5554是你模拟器起的设备号)
    3.进入telnet模式下redir add tcp:10000:10000PS:并且IP改成2楼那个(模拟器与PC相连的段IP)
      

  6.   

    加权限了吗?<uses-permission android:name="android.permission.INTERNET"></uses-permission>
      

  7.   

    我也遇到这个问题解决方法之一是将连接写到thread 中: new Thread()
    {
    @Override
     public void run()
    {
    try {
            
    Socket socket=new Socket("192.168.1.115",10000);InputStream in=socket.getInputStream();
    byte[]buffer=new byte[in.available()];
    in.read(buffer);
    String msg=new String(buffer);
    myTextView.setText(msg);
    } catch (UnknownHostException e) {e.printStackTrace();
    } catch (IOException e) {
     
    e.printStackTrace();
    }
    }.start();
    不知道还有没有其它解决方法