public class MainActivity extends Activity {
private Button ss=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ss= (Button) findViewById(R.id.start);
ss.setOnClickListener(new myListener());
}
class myListener implements View.OnClickListener{
@Override
public void onClick(View v) {
SocketThread thread=new SocketThread();
thread.start();
}
}
class SocketThread extends Thread{
@Override
public void run() {
ServerSocket serverSocket=null;
try {
serverSocket=new ServerSocket(8888);
while(true) {
Socket socket = serverSocket.accept();
BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String str = null;
while ((str = br.readLine()) != null) {
System.out.println("client: " + str);
}
socket.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}[size=12px][/size]
以上是我的代码,为什么这段代码一直启动不了这个8888端口,我换了好几个端口份,发现对这段程序都没有响应,我java测试可以响应,可是android里就不行了,求解答。
------解决思路----------------------
啟動不了端口是什麼意思? 是指client連到這端口沒反應嗎
code應該是ok的, 沒有報什麼錯嗎?
網路權限加了沒
都有的話試試看把socketserver設一下timeout為0
雖然我不覺得是這問題
------解决思路----------------------
這個就不好意思了, 畢竟從code上來看是ok的
剩下的大概就是
在代碼中加上確認ip的code
看看是否有確實抓到ip
其他地方能想到的也就只有網路環境.device之類的,
你的android是在實體手機執行的嗎?