socket编程之udp发送 .
来源:互联网 发布:mac office 2016 下载 编辑:程序博客网 时间:2024/05/17 23:37
http://blog.csdn.net/jdh99/article/details/6687705
需要实现的功能:采用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();
- }
- }
- });
- }
- }
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,端口为模拟器名称
0 0
- socket编程之udp发送 .
- Socket编程之UDP发送、接收编程
- android编程3:socket编程之udp发送
- Android 开发技巧之Log发送UDP报文,Socket编程
- linux socket UDP编程发送广播
- linux socket UDP编程发送广播
- java-----Socket编程之UDP
- C# Socket编程之UDP
- Linux 编程之 【socket】 udp
- 十、Socket之UDP编程
- 计算机网络socket编程之UDP
- 网络编程之udp socket
- Linux之UDP SOCKET 编程
- UDP之socket编程实例
- python的socket编程之udp编程
- Socket编程 (连接,发送消息) (Tcp、Udp) - Part1
- Java-网络编程(IP地址)-(TCP和UDP)-(Socket)-(Udp-发送端)-(Udp-接收端)
- Linux下Socket编程之UDP原理
- 高新技术——枚举
- 一个绚丽的loading动效分析与实现!
- 【xml】XmlNode vs XmlElement
- mysql-proxy主从服务架构下读写分离和负载均衡实现及原理
- C++_提取string里的float数字(正整数和小数部分)
- socket编程之udp发送 .
- 剑指offer 面试题6—重建二叉树
- poj2762强连通分量+判断单链
- 机器学习中的数学(2)-线性回归,偏差、方差权衡
- 关于 IDispatch 接口的 LPDispatch 属性的实现
- 鸿学金信股权众筹(天使轮融资)相关细节披露
- redis密码管理
- C++中的namespace
- php curl 添加cookie伪造登陆抓取数据