博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android编程3 socket编程之udp发送
阅读量:3949 次
发布时间:2019-05-24

本文共 3295 字,大约阅读时间需要 10 分钟。

分享一下我老师大神的人工智能教程!零基础,通俗易懂!

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

本文博客链接:,作者:jdh,转载请注明.

需要实现的功能:采用udp下的socket编程,当按下确认键,模拟器发送文本框数据,pc机上的网络调试助手接收

环境:win7 + eclipse + sdk

代码:

package test.soket;//import com.test_button.R;import java.io.DataOutputStream;import java.io.IOException;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;import java.net.Socket;import java.net.SocketException;import java.net.UnknownHostException;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.TextView;public class test_socket extends Activity {
 public static TextView show; public static Button press; public static boolean flag;        private static final int MAX_DATA_PACKET_LENGTH = 40;    private byte[] buffer = new byte[MAX_DATA_PACKET_LENGTH];    private DatagramPacket dataPacket;    private DatagramSocket udpSocket;     /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);                //开辟控件空间        show = (TextView)findViewById(R.id.editText1);        press = (Button)findViewById(R.id.button1);        flag = false;        //soket_send thread = new soket_send();        //thread.init();        //thread.start();                try        {         udpSocket = new DatagramSocket(5554);        }        catch (SocketException e)        {         // TODO Auto-generated catch block         e.printStackTrace();        }        dataPacket = new DatagramPacket(buffer, MAX_DATA_PACKET_LENGTH);        String str = "hello,jdh";  //这是要传输的数据  byte out [] = str.getBytes();  //把传输内容分解成字节        dataPacket.setData(out);        dataPacket.setLength(out.length);        dataPacket.setPort(5554);        try        {                         InetAddress broadcastAddr = InetAddress.getByName("192.168.0.248");         dataPacket.setAddress(broadcastAddr);         udpSocket.send(dataPacket);        }        catch (IOException e)        {         // TODO Auto-generated catch block         e.printStackTrace();        }                        press.setOnClickListener(new Button.OnClickListener()        {         @Override         public void onClick(View v)         {          flag = true;          /*                String str = "hello,jdh";  //这是要传输的数据          byte out [] = str.getBytes();  //把传输内容分解成字节                dataPacket.setData(out);                dataPacket.setLength(out.length);                */                                //获得输入框文本          CharSequence str =test_socket.show.getText();                byte out[] = str.toString().getBytes();                dataPacket.setData(out);                dataPacket.setLength(out.length);                try                {                                         InetAddress broadcastAddr = InetAddress.getByName("192.168.0.248");                 dataPacket.setAddress(broadcastAddr);                 udpSocket.send(dataPacket);                }                catch (IOException e)                {                 // TODO Auto-generated catch block                 e.printStackTrace();                }         }        });    }}
界面:

注意:在模拟器IP为本机IP,端口为模拟器名称

           

给我老师的人工智能教程打call!

这里写图片描述
你可能感兴趣的文章
敏捷开发笔记1
查看>>
vs2008
查看>>
转:NoSQL数据库探讨之一 - 为什么要用非关系数据库?
查看>>
log4cplus的按日生成文件,配置例子
查看>>
跨平台的文字编码转换方法--ICU
查看>>
ICU4C 4.4 静态库的编译
查看>>
FTP下载类, windows平台下对CFtpConnection上传下载的封装类
查看>>
代码自动生成-宏带来的奇技淫巧
查看>>
VC com开发中实现IObjectSafety
查看>>
c# 正则表达式基础
查看>>
C#3.0语言新特性
查看>>
W32Dasm反汇编工具使用教程
查看>>
EXE破解工具介绍
查看>>
机械码对应值
查看>>
常用语音编码的WAVE文件头格式剖析--各种编码
查看>>
在VC6集成环境中开发设备驱动程序的方法
查看>>
如何进行软件需求分析
查看>>
有关数据挖掘的10个常见问题
查看>>
电信数据挖掘
查看>>
电信数据挖掘之流失管理
查看>>