首页 > 代码库 > Android的Socket编程尝试失败了,求帮助
Android的Socket编程尝试失败了,求帮助
============问题描述============
服务器端:把客户端传来的int加1,传回去
public class Server extends Thread { @Override public void run() { // TODO Auto-generated method stub try { ServerSocket serverSocket=new ServerSocket(10000); System.out.println("Start Server"); while(true) { Socket socket=serverSocket.accept(); System.out.println("Get Socket"); int i=socket.getInputStream().read(); i++; socket.getOutputStream().write(i); socket.close(); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void main(String args[]) { new Server().start(); } }
客户端:activity的布局,一个button,按了就连接服务器并且发送一个int数过去,一个textview来显示接受的加1的数字
textView=(TextView) findViewById(R.id.tv); button=(Button) findViewById(R.id.btn); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub try { Socket socket=new Socket("113.76.162.91", 10000); System.out.println("Build Socket"); socket.getOutputStream().write(12); System.out.println("Build Socket"); int i=socket.getInputStream().read(); socket.close(); textView.setText(String.valueOf(i)); } catch (UnknownHostException e) { // TODO Auto-generated catch block System.out.println("Unknow Host"); } catch (IOException e) { // TODO Auto-generated catch block System.out.println("IO Wrong"); } } });
我的代码如果不涉及Android,即是直接2个*.java能够正常运行的,我的电脑的IP地址没弄错,Android也加了联网的权限:
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
就是不知道怎么会崩了,那个IP地址我还试过了127.0.0.1和10.0.2.2,我用的是真机调试的
============解决方案1============
你的客户端有问题,不能在OnClickListener里面更新 textView.setText(String.valueOf(i));
============解决方案2============
socket 放到子线程里去
Android的Socket编程尝试失败了,求帮助
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。