Android Socket UDP通信的简单演示
2015-06-30 11:05
405 查看
环境说明:
Windows7下的Android Studio 1.1.0
具体内容:
运行结果:
Server Receive From Client: Hello,I'm Client
Client Receive From Server: Hello,I'm Server
Process finished with exit code 0
Windows7下的Android Studio 1.1.0
具体内容:
import java.net.DatagramSocket; import java.net.InetAddress; public class UDPDemo { public static void main(String args[]){ new Thread(new Server()).start(); new Thread(new Client()).start(); } class Server implements Runnable { public static final String SERVERIP = "192.168.1.108"; public static final String CLIENTIP = "127.0.0.1"; @Override public void run() { try { //用于接收Client端的数据 InetAddress serverAddr = InetAddress.getByName(SERVERIP); DatagramSocket m_socket = new DatagramSocket(9000, serverAddr); byte[] opt = new byte[1024]; DatagramPacket recvDataPacket = new DatagramPacket(opt, opt.length); m_socket.receive(recvDataPacket); String result = new String(recvDataPacket.getData(), recvDataPacket.getOffset(), recvDataPacket.getLength()); System.out.println("Server Receive From Client: " + result); //用于向Client端发送数据 InetAddress clientAddr = InetAddress.getByName(CLIENTIP); DatagramSocket m_socket2 = new DatagramSocket(); byte[] opt2 = new byte[1024]; opt2 = "Hello,I'm Server".getBytes(); DatagramPacket setOptPacket = new DatagramPacket(opt2, opt2.length, clientAddr, 9000); m_socket2.send(setOptPacket); } catch (Exception e) { e.printStackTrace(); } } } class Client implements Runnable { public static final String SERVERIP = "192.168.1.108"; public static final String CLIENTIP = "127.0.0.1"; @Override public void run() { try { //用于向Server端发送数据 InetAddress serverAddr = InetAddress.getByName(SERVERIP); DatagramSocket m_socket = new DatagramSocket(); byte[] opt = new byte[1024]; opt = "Hello,I'm Client".getBytes(); DatagramPacket setOptPacket = new DatagramPacket(opt, opt.length, serverAddr, 9000); m_socket.send(setOptPacket); //用于接收Server端的数据 InetAddress clientAddr = InetAddress.getByName(CLIENTIP); DatagramSocket m_socket2 = new DatagramSocket(9000, clientAddr); byte[] opt2 = new byte[1024]; DatagramPacket recvDataPacket = new DatagramPacket(opt2, opt2.length); m_socket2.receive(recvDataPacket); String result = new String(recvDataPacket.getData(), recvDataPacket.getOffset(), recvDataPacket.getLength()); System.out.println("Client Receive From Server: " + result); } catch (Exception e) { e.printStackTrace(); } } }
运行结果:
Server Receive From Client: Hello,I'm Client
Client Receive From Server: Hello,I'm Server
Process finished with exit code 0
相关文章推荐
- android开发遇到的各种bug
- android的listview中setselection()不起作用的解决方案
- android添加背景音乐
- Ubuntu 下Android开发常用命令笔记
- Android L中的RecyclerView 、CardView 、Palette的使用
- Android中SQLite的增删改查
- Android View动画
- Android-RecyclerView-Item点击事件设置
- android 与javascipt 之间相互调用
- 为自己记----android中关于actionbar的一些简单理解
- Android Web 应用开发详解
- android 自动登录和记住密码
- android 反编译
- PHP后台2:客户端(IOS/Android)Post请求以及JSON数据编解码
- android-service的简单用法
- android studio 开发 gradle 详解(五)
- android-percent-support-lib-sample
- 百度经验:常用的Android.mk变量解释
- Android系统版本与API Level对照表
- Android中动态生成ListView及SimpleAdapter的使用