文档章节

UDP编程

f
 flyqilong
发布于 2016/01/02 17:14
字数 335
阅读 10
收藏 0
客户端:
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);     
       }
}
}

© 著作权归作者所有

f
粉丝 3
博文 93
码字总数 53900
作品 0
Android工程师
私信 提问
C#网络编程系列文章(一)之Socket实现异步TCP服务器

原创性声明 本文作者:小竹zz 本文地址http://blog.csdn.net/zhujunxxxxx/article/details/44258719 转载请注明出处 文章系列目录 C#网络编程系列文章(一)之Socket实现异步TCP服务器 C#网络编...

zhujunxxxxx
2015/03/14
0
0
网络编程懒人入门(四):快速理解TCP和UDP的差异

原作者:MeloDev,本文由即时通讯网重新修订发布,感谢原作者的无私分享。 1、前言 对于即时通讯开者新手来说,在开始着手编写IM或消息推送系统的代码前,最头疼的问题莫过于到底该选TCP还是...

JackJiang2011
2017/10/27
0
0
C#网络编程系列文章(七)之UdpClient实现异步UDP服务器

原创性声明 本文作者:小竹zz 本文地址http://blog.csdn.net/zhujunxxxxx/article/details/44258719 转载请注明出处 文章系列目录 C#网络编程系列文章(一)之Socket实现异步TCP服务器 C#网络编...

zhujunxxxxx
2015/03/16
0
0
C#网络编程系列文章(五)之Socket实现异步UDP服务器

原创性声明 本文作者:小竹zz 本文地址http://blog.csdn.net/zhujunxxxxx/article/details/44258719 转载请注明出处 文章系列目录 C#网络编程系列文章(一)之Socket实现异步TCP服务器 C#网络编...

zhujunxxxxx
2015/03/15
0
0
网络编程懒人入门(五):快速理解为什么说UDP有时比TCP更有优势

本文观点仅作参考,请根据自已系统的应用场景合理地选择数据传输层协议即可,无需盲目崇拜大牛言论。 1、前言 对于即时通讯开者新手来说,在开始着手编写IM或消息推送系统的代码前,最头疼的...

JackJiang2011
2017/12/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

CRM、DMP、CDP都是什么?有什么区别?

Markter对CRM系统(Customer Relationship Management System,客户关系管理系统),营销自动化等概念都已经比较熟悉,也许DMP(Data Management Platform,数据管理平台)也多多少少有些了解。...

怡海软件-CRM
12分钟前
4
0
中台是什么,到底要解决什么问题?

故事的开始 这个最早由阿里在2015年提出的“大中台,小前台”战略中延伸出来的概念,最近在国内大热。阿里、腾讯、百度、京东、美团、滴滴等一众互联网巨头,从去年到今年,接连开始组织架构...

喵二狸
23分钟前
3
0
Linux Centos 7 - MySQL 5.7离线安装

内部网络通过离线包的方式进行安装。 一、下载 下载地址:https://dev.mysql.com/downloads/mysql/ 进入页面后,点击右侧链接。 下载对应版本。 通过xftp6等工具上传到服务器上。 二、安装和...

华山猛男
23分钟前
3
0
EventBus 3 全解

EventBus 3 全解 [TOC] 使用 一个基于观察者模式的事件发布/订阅框架. 用于模块间通信和解耦, 使用方便,性能高. 基本使用 1. gradle导入依赖库 implementation 'org.greenrobot:eventbus:3....

马湖村第九后羿
26分钟前
4
0
HTTP 协议

什么是HTTP协议? HTTP是hypertext transport protocol的缩写,即超文本传输协议。 是用于万维网服务器与本地浏览器之间传输超文本的传送协议。可以使浏览器更加高效,使网络传输减少。能够保...

彩色泡泡糖
36分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部