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();
}
}}
代码: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();
}
}}
java.net.PlainSocketImpl.connect(no source)
1.打开cmd
2.输入telnet localhost 5554(5554是你模拟器起的设备号)
3.进入telnet模式下redir add tcp:10000:10000PS:并且IP改成2楼那个(模拟器与PC相连的段IP)
{
@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();
不知道还有没有其它解决方法