Java网络编程(一):服务端与客户端建立(UDP方式)
来源:互联网 发布:鳄鱼有耳朵吗 知乎 编辑:程序博客网 时间:2024/06/05 11:38
Java网络编程的面向数据连接方式主要有两种:1、UDP,非面向连接,效率高,但是安全性低,例如短信;
2、TCP,面向连接,效率低,但是安全性相对较高一点,例如电话。这篇主要讲的是UDP方式下建立客户端和服务端。
对于网络编程进行对网路的连接,主要用到两个大类:DataGramSocket和DataGramPacket.其中第一个是用来建立连接么第二个是用来封装数据的。
- Client端的建立步骤:1、创建客户端,2、准备数据,3、打包,4、发送,5、释放资源
public class Servers { public static void main(String[] a) throws IOException{ DatagramSocket so=new DatagramSocket(888); String msg="biancheng"; byte[] data=msg.getBytes(); DatagramPacket dp=new DatagramPacket(data, data.length,new InetSocketAddress("localhost", 8888)); so.send(dp); so.close();}}
我们需要使用DataGramSocket新建一个客户端对象,需要加入一个端口,这个端口要避免是否已经被主机使用过了。
- Server端建立:1.创建服务器端口;2、准备数据接受容器,3、接收数据,4、分析数据,5、释放资源
public class Clients { public static void main(String[] args) throws IOException{ DatagramSocket server=new DatagramSocket(8888); byte[] container=new byte[1024]; DatagramPacket dp=new DatagramPacket(container, container.length); server.receive(dp); //分析数据 byte[] data=dp.getData(); int len=dp.getLength(); System.out.println(new String(data));}}
这是一个简单的客户端和服务端建立的小例子,主要是为了交代建立的过程,从上面的服务端建立我们可以看出,UDP的连接方式不是在建立断楼的时候就找目的地址,而是让数据发送过程中去找服务器地址,所以数据在发送过程中容易丢失,可以试试将服务器关闭。客户端运行发现不会报错。
0 0
- Java网络编程(一):服务端与客户端建立(UDP方式)
- 网络编程--udp--客户端--服务端--Socket
- java网络编程 (客户端、服务端)
- java网络编程(一)使用TCP协议完成客户端与服务端的数据传递
- java网络编程(一)使用TCP协议完成客户端与服务端的数据传递
- Java网络编程基于TCP的客户端与服务端
- Android网络编程之UDP通信----简单客户端与服务端通信
- java udp网络编程及实例代码,实现客户端和服务端通信
- Java网络编程(一)- 一个简单的服务端/客户端应用程序
- .Net网络编程——使用TcpClient与TcpListener建立客户端与服务端连接
- 网络编程--python 实现简单的UDP客户端和服务端
- java网络编程(二) 客户端和服务端(TCP)
- java网络编程--socket服务端客户端(1:1)
- JAVA--网络编程之服务端和客户端
- linux网络编程之用socket实现简单客户端和服务端的通信(基于UDP)
- linux网络编程之用多线程实现客户端到服务端的通信(基于udp)
- 网络编程基础(2)----------UDP客户端与服务器
- C# Socket编程 服务端与客户端(一)
- 网络编程,socket编程,TCP
- SkipList数据结构学习
- eclispe 远程调试 Tomcat 下项目代码问题
- 深入理解Java:SimpleDateFormat安全的时间格式化
- JSSDK,微信JS接口,分享朋友圈狀態捕獲,項目實例
- Java网络编程(一):服务端与客户端建立(UDP方式)
- scrollview 的各类代理方法汇总
- android 手机的网络时间同步
- java学习3-冒泡排序对数组进行排序
- Crashlytics 教程
- ERROR: ORA-00600: 内部错误代码, 参数: [17182], [0x2AE72343B77C], [], [], [], [], [], []
- getActivity()返回null的解决问题
- imageView的.setBackgroundResource 、setBackground没有效果
- [渗透测试] 工具简介