【3D技术宅公社】XR数字艺术论坛  XR技术讨论 XR互动电影 定格动画

 找回密码
 立即注册

QQ登录

只需一步,快速开始

调查问卷
论坛即将给大家带来全新的技术服务,面向三围图形学、游戏、动画的全新服务论坛升级为UTF8版本后,中文用户名和用户密码中有中文的都无法登陆,请发邮件到324007255(at)QQ.com联系手动修改密码

3D技术论坛将以计算机图形学为核心,面向教育 推出国内的三维教育引擎该项目在持续研发当中,感谢大家的关注。

查看: 1407|回复: 1

大家帮帮忙,Android下创建Socket错在哪里了??

[复制链接]
发表于 2012-12-28 22:09:12 | 显示全部楼层 |阅读模式
我想用android手机连接服务器,但是运行到创建socket就直接跳出抛出异常请大家帮我我看看,代码如下:
  1. package TCP.Isoso;

  2. import android.app.Activity;
  3. import android.os.Bundle;
  4. import android.view.View;
  5. import android.view.View.OnClickListener;
  6. import android.widget.Button;
  7. import android.widget.TextView;

  8. import java.io.OutputStream;
  9. import java.net.Socket;

  10. public class TCPTestActivity extends Activity {
  11.         
  12.         /** Called when the activity is first created. */
  13.         TextView textview;
  14.     @Override   
  15.     public void onCreate(Bundle savedInstanceState) {
  16.         super.onCreate(savedInstanceState);
  17.         setContentView(R.layout.main);
  18.         textview = (TextView) findViewById(R.id.Textview1);
  19.         Button sendMsg = (Button)findViewById(R.id.button1);
  20.         sendMsg.setOnClickListener((OnClickListener) new MyButton());
  21.     }  
  22.     class MyButton implements OnClickListener {
  23.                public void onClick(View v)
  24.                {
  25.                        Socket socket=null;
  26.                             try {
  27.                                     socket = new Socket("118.244.232.138",8086);
  28.                                     textview.setText("Creat!");
  29.                                     OutputStream out = socket.getOutputStream();
  30.                                     String buffer = "1004#121.553256, 38.931346|0.23*";
  31.                                     out.write(buffer.getBytes(),0,64);
  32.                                     textview.setText("OK!");
  33.                     
  34.                             } catch (Exception e) {
  35.                                     e.printStackTrace();
  36.                                     textview.setText("ERR");
  37.                             }  
  38.                }              
  39.     }
  40. }
复制代码
在虚拟机上执行就会显示“ERR”不知道为什么,查看网上有人说socket要建在非主线程上。但是也有的代码我看就这么做的~~到底错在哪里呢?
 楼主| 发表于 2012-12-29 12:21:52 | 显示全部楼层
找到原因了~~自己来结贴~~
out.write(buffer.getBytes(),0,buffer.Length());
然后就OK了~~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|3D数字艺术论坛 ( 沪ICP备14023054号 )

GMT+8, 2024-9-27 20:33

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表