网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
03月02日漏签0天
android开发吧 关注:225,863贴子:948,720
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 5回复贴,共1页
<<返回android开发吧
>0< 加载中...

android socket 通信问题 求解决!!!

  • 只看楼主
  • 收藏

  • 回复
  • 不起名字🕶️
  • 三年级
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我把代码说明一下 我在连接按钮里新开了一个线程 用socket连接服务器 四个控制方向的按钮通过发送指定的数字给服务器来进行控制 发送数据的代码没有新开线程 不知道怎么开…


  • 不起名字🕶️
  • 三年级
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这是一个手机端控制飞行器的代码
能连接成功 但是发送数据有很大延迟 通常发送之后要等个几分钟 在服务器端才会接收到 而且是突然就出现一大堆的数据
比如我设置了4个按钮 分别发送1,2,3,4 按下之后 几分钟会在服务器接收到 类似1,1234,22,11,1,之类的并不是按下一次接受一次 而是有的是把好几次按的一起显示出来在一行
放上完整的代码 大家看看应该怎么改
//连接服务器
connect_button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new Thread(){
@Override
public void run() {
try {
socket = new Socket();
SocketAddress address = new InetSocketAddress("192.168.1.102", 8000);
socket.connect(address, 5000);
socket.setTcpNoDelay(true);
socket.setKeepAlive(true);
outputStream = socket.getOutputStream();
inputStream = socket.getInputStream();
}
catch (Exception e) {
e.printStackTrace();
}
};
}.start();
Toast.makeText(Mode2Activity.this,"成功",Toast.LENGTH_SHORT).show();
}
});


2026-03-02 06:49:45
广告
不感兴趣
开通SVIP免广告
  • 不起名字🕶️
  • 三年级
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
//向前飞
forwardbth.setOnTouchListener(
new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
char command = '1';
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
SendCommand(command);
break;
case MotionEvent.ACTION_UP:
SendCommand(stop);
break;
default:
break;
}
return false;
}
});
//向后飞
backbth.setOnTouchListener(new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
char command = '2';
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
SendCommand(command);
break;
case MotionEvent.ACTION_UP:
SendCommand(stop);
break;
default:
break;
}
return false;
}
});


  • 不起名字🕶️
  • 三年级
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
public void SendCommand ( char command){
// TODO Auto-generated method stub
try {
OutputStreamWriter osw = new OutputStreamWriter(outputStream);
BufferedWriter bw = new BufferedWriter(osw);
bw.write(command);
bw.flush();
socket.close();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}


  • 不起名字🕶️
  • 三年级
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
上面是完整的代码 求解决


  • 不起名字🕶️
  • 三年级
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
@duantianzhang 大神又打扰你了 这回帮忙看一下代码问题吧


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 5回复贴,共1页
<<返回android开发吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示