UDP编程
2016-01-02 00:00
176 查看
摘要: UDP编程
客户端: import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; import java.util.Scanner; //UDP客户端,发送数据,必须先运行服务器才能发送,否则出错 public class SendClient { public static void main(String[] args) throws Exception { //1.创建DatagramSocket 给一个端口8888,否则发送端会随机分配 DatagramSocket socket=new DatagramSocket(8888); //2.准备数据:键盘输入 Scanner input = new Scanner(System.in); //要发送给的服务器ip:InetAddress ia=InetAddress.getByName("192.168.10.62"); //本次是发给自己所以用下面的这个 InetAddress ip=InetAddress.getLocalHost(); //服务端的端口 int port=8889; //3.创建套接字:数据包 DatagramPacket dp=null; byte[]a; String str=null; while(true){ str=input.nextLine();//接收一条数据。 if("000".equals(str.trim())){//输入一000结束 break; } //将数据打包成数据包发送 a=str.getBytes(); dp=new DatagramPacket(a, 0,a.length,ip,port); //发送数据报包 socket.send(dp); } socket.close(); } } 服务端: import java.net.DatagramPacket; import java.net.DatagramSocket; //UDP服务端,接收数据 public class ReceivceClient { public static void main(String[] args) throws Exception { //1.创建接收套接,注意端口号必须一致,否则接收不到 DatagramSocket socketreceivce=new DatagramSocket(8889); //2.准备缓冲区接收数据 byte[] b=new byte[1024]; //3.准备数据报包,将数据传到数组中 DatagramPacket dp=new DatagramPacket(b, b.length); int len=-1; while(true){ socketreceivce.receive(dp); //获得对方的ip地址,端口,数据。 len=dp.getLength();//本次获得的字节数量 String str=new String(b, 0, len); System.out.println("ip:"+dp.getAddress().getHostAddress()+"端口:"+dp.getPort()+"内容: "+str); } } }
相关文章推荐
- UDP编程,发送图片或文件
- C语言指针-----指针与字符串
- Spring笔记——配置Hibernate框架事务
- C++笔记——动态链接库测试实例
- Spring笔记——配置Hibernate框架事务
- C++笔记——动态链接库测试实例
- Struts2笔记——Action校验器
- Java笔记——面向切面编程(AOP模式)
- Java笔记——面向接口编程(DAO模式)
- SpringMVC笔记——Spring+MyBatis组合开发简单实例
- Spring笔记——依赖注入
- Struts2笔记——初次框架配置
- Java笔记——JavaMail发送邮件
- Struts2笔记——与ServletAPI解耦
- Struts2笔记——利用token防止表单重复提交
- Struts2笔记——ONGL表达式语言
- Spring笔记——使用Spring进行面向切面(AOP)编程
- Java笔记——序列化和反序列化
- Android笔记——JDK实现WebService服务
- Struts2笔记——文件上传