android socket无法与java服务器连接

时间:2014-06-12 10:44:35

标签: android sockets

我有一个java服务器套接字,我与其他java客户端连接,但与android我不能知道为什么。 我的代码:我在显示互联网访问

//public class MainActivity extends Activity {
private ObjectInputStream sInput; // to read from the socket
private ObjectOutputStream sOutput; // to write on the socket
public Socket socket;  
// the server, the port and the username
private String username;
private String password;
private int port = 1500;
private String server = "localhost";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    connect();
}

public void connect() {
    Runnable test = new Runnable() {

        public void run() {

            InetAddress serverAddr = null;
            try {
                serverAddr = InetAddress.getByName(server);
            } catch (UnknownHostException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            Log.i("ClientActivity", "C: Connecting...");
            try {
                socket = new Socket(server, port);
            }

            catch (Exception ec) {
                Log.i("ERRORR", "!!!!###Error connectiong to server:" + ec);
            }

            // String msg = "Connection accepted " + socket.getInetAddress()
            // +
            // ":" +
            // socket.getPort();
            // Log.i("ERRORR", msg);

            /* Creating both Data Stream */
            try {
                sInput = new ObjectInputStream(socket.getInputStream());
                sOutput = new ObjectOutputStream(socket.getOutputStream());
            } catch (IOException eIO) {
                Log.i("ERRORR", "Exception creating new Input/output Streams: " + eIO);

            }
            Log.i("ERRORR", "CONNECTING TO THE SERVER !!!!!!");
            // creates the Thread to listen from the server

            Log.i("ERRORR", "CONNECTING TO THE SERVER !!!!!!");
        }
    };

    new Thread(test).start();
}
}

我的LogCat:

06-11 16:12:20.672: I/ERRORR(2863): !!!!###Error connectiong to server:java.net.ConnectException: failed to connect to localhost/127.0.0.1 (port 1500): connect failed: ECONNREFUSED (Connection refused)
06-11 16:12:20.672: W/dalvikvm(2863): threadid=11: thread exiting with uncaught exception (group=0xb3a97ba8)
06-11 16:12:20.682: E/AndroidRuntime(2863): FATAL EXCEPTION: Thread-153
06-11 16:12:20.682: E/AndroidRuntime(2863): Process: com.example.acardsocket, PID: 2863
06-11 16:12:20.682: E/AndroidRuntime(2863): java.lang.NullPointerException
06-11 16:12:20.682: E/AndroidRuntime(2863):     at com.example.acardsocket.MainActivity$1.run(MainActivity.java:64)
06-11 16:12:20.682: E/AndroidRuntime(2863):     at java.lang.Thread.run(Thread.java:841)

2 个答案:

答案 0 :(得分:0)

尝试将localhost更改为台式计算机的IP地址。请记住,Android设备是一台独立的设备,因此它无法识别" localhost"作为您的电脑(与您的Java客户端不同)。不要使用127.0.0.1,只需将Android设备连接到您的网络并使用电脑的IP。

答案 1 :(得分:0)

感谢所有ojf这是我的错:P

我在一个值对象中放入一个null并修复:P 谢谢大家,谢谢m0skit0

相关问题