2 zsr520 zsr520 于 2016.04.14 17:35 提问

ANDROID UDP通讯 闪退 急求

刚刚写了一个UDP通讯的类,

public class EasyUDPClient {

public int udpRemotePort;
public String S_ip;
public DatagramSocket socket; 
private InetAddress serverAddress;

public EasyUDPClient(String ServerIP,int Port)
{
    udpRemotePort = Port;
    S_ip = ServerIP;
    try {
        socket = new DatagramSocket(udpRemotePort);
    } catch (SocketException e) {
        // TODO 自动生成的 catch 块
        e.printStackTrace();
    }
}

public void Send(String msg)
{

    try {
        System.out.println(S_ip);
        System.out.printf("%d",udpRemotePort);

        serverAddress = InetAddress.getByName(S_ip);
    //  byte data[] = msg.getBytes(msg);

        byte data[] = msg.getBytes();

        DatagramPacket packet = new DatagramPacket(data, data.length ,serverAddress ,udpRemotePort);    
        socket.send(packet);//把数据发送到服务端。
        socket.close();

    } catch (SocketException e) {
        // TODO 自动生成的 catch 块
        e.printStackTrace();
        System.out.println("cacacacac");
    } catch (UnknownHostException e) {
        // TODO 自动生成的 catch 块
        e.printStackTrace();
        System.out.println("11111");
    } catch (IOException e) {
        // TODO 自动生成的 catch 块
        e.printStackTrace();
        System.out.println("2222");
    }  


}

}

在ACTIVITY中的 BUTTON事件 执行 Send() 通讯正常
在Fragment中的 BUTTON事件 执行 Send() 程序闪退 求解

1个回答

CSDNXIAOD
CSDNXIAOD   2016.04.14 17:42

UDP 通讯
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Android UDP协议通信简单尝试
Android UDP协议通信 ZHR UDP:UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议。与TCP相比没有是否发送成功的判断机制,相比起来不安全但是速度更快,发送方式更简单,比TCP更合适只发送或者只接收信息的机制。 目标:实现手机与PC通过PC连接手机的热点形成的局域网通信,手机只发送信息,PC只接收数据 实现:主要使用两个类,Datagra
Android中UDP通信
个人也同意网上的一些观点,Android开发中尽量不使用UDP进行数据通信。 个人观点:1,UDP不能保证数据传输。2,有的手机不能接收UDP数据包。3,个人觉得用HTTP协议更方便,也更能保证数据传输。 不过有的项目,肯定还是要用到UDP协议,在目前项目中用到了UDP,就简单做个总结。代码还需要优化。 UDP工具类: public class UdpMessageTool { privat
关于android UDP 客户端与delphi UDP服务端通讯中文乱码问题
废话不多直接上android发送代码: String message = “这是一个中文测试”; // 这里是重点,要将字符串进行Base64加密 message = Base64.encodeToString(message.getBytes(), Base64.DEFAULT); int server_port = 12345;
ios调用unix 网络编程的socket 接口实行UDP通信, 锁屏后解屏会闪退的解决方法
原因:IOS 锁屏,然后解屏后,会发出一个SIGPIPE 信号,大家都知道,系统默认收到该信号,进程退出的。 解决: 方法1:signal( SIGPIPE, SIG_IGN ); 该方法不知道为什么,在IOS 真机下跑,无法捕捉SIGPIPE; 方法2:setsockopt( nSocket, SOL_SOCKET, SO_NOSIGPIPE, (void *)&set, size
Android 内网的udp和socket的通讯的demo
0: 首先是服务端,界面上面只有一个button,发送广播 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" an
【Android Socket专题】:UDP通信客户端app的demo的实现
关于UDP通信其实可以不用多做累述,多数像我一样的朋友在此基础上也只是为了应用,需要了解下该了解的就可以了,具体的想要对这个协议研究深入的,可以自己努力!我这儿只做Android客户端的应用实现,注意是客户端,不是服务器,那么服务器怎么实现呢?下次有空再写服务器的实现,先看客户端。 我们既然是在Android下实现的,我们第一件事情肯定是想好我们大概想做成什么样子,那么为了简单,我在这是这样
android模拟器与PC进行UDP通信
模拟器当服务端,PC当客户端 1、首先要进行端口映射,端口映射的方法:       利用telnet命令  telnet 127.0.0.1 5554 (连接5554模拟器)   redir add ::(增加端口映射:例如,redir add udp:6000:6000 将PC的6000端口映射到模拟器的6000端口,这样当访问PC的6000端口时,就会映射到模拟器上,即访问模拟器
Android UDP通信之Handler、Activity、UI更新
碰到了一些问题,列出几个说说     1.ERROR/JavaBinder(1726): android.util.AndroidRuntimeException: { what=102 when=330076886 obj=android.os.BinderProxy@325fb830 } This message is already in use.     2.ERROR/global(
android之同一wifi下两台设备通过UDP进行通讯
参考文章地址:http://www.cocoachina.com/android/20171016/20806.html前端布局如下:Activity中的全部代码,其中使用了butterknife实现View中控件的实例化。package com.example.a260219.myapplication; import android.os.Bundle; import android.os....
android udp与pc端通信实例
udp通信还是必备知识的,最近花时间去调通了一个例子程序,还不错。包括android程序以及网络调试助手。pc的网络调试助手稂莠不齐,不好弄。我推荐一个网络调试助手。名字就叫网络调试助手,英文名称NetAssist。 1,测试环境 android 4.4真机,window 10系统 网络调试助手适配版本window all 2,网络调试助手指南 百度经验地址:http://jingyan