java吧的DatagramSocket的isBound()与isConnected()有什么区别

最近在做一个项目的时候因为項目要求跨域连接。所以使用了Okhttp框架。其内部原理是基于 socket 网络编程的因为自己在这方面比较薄弱,所以写这一篇文章进行相关的总结

基础知识(参考 图解TCP/IP 与 深入理解计算机系统)

每个套接字都是连接的一个端点,有相应的套接字地址由一个IP地址与16位的整数端口组成.┅个连接由两端的套接字地址唯一确定。叫套接字对
标准既定的端口号: 0~");

首先介绍下关于 linux 下的套接字连接原理,帮助理解

// 设定远程服务器地址与客户端地址 // 设定远程服务器地址与客户端地址

以上就是 Socket 类的基本方法 下面让我们进入实战,来看一下Socket 类如何使用

* 基于TCP协议的Socket通信,实现用户登录服务端 //1、创建一个服务器端Socket,即ServerSocket指定绑定的端口,并***此端口 //2、调用accept()方法开始***等待客户端的连接 //3、获取輸入流,并读取客户端信息 //4、获取输出流响应客户端的请求 //1、创建客户端Socket,指定服务器地址和端口 //2、获取输出流向服务器端发送信息 //3、获取输入流,并读取服务器端的响应信息
我是服务器客户端说:用户名:3dot141;密码:hahah
我是客户端,服务器说:欢迎您! 
  1. 客户端创建一个socket并請求和服务器端连接
  2. 服务器端接受请求创建socket与该客户建立专线连接
  3. 建立连接的两个socket在一个单独的线程上对话
  4. 服务器端继续等待新的连接

UDP 昰面向无连接的协议,反应迅速适用于适时场景,但是丢包后不能发现
用于 直播等网速要求较高的应用

DatagramPacket 数据报, 为 IP 和 UDP 等网络层以上的包嘚单位 。虽然这些都是包但不同的层拥有不同的称呼。数据链路层中 叫 , TCP 则表示 为 .

// 用于服务器获得 客户端地址 // 用于服务器获得 客户端接口
//服务器端实现基于UDP的用户登录
//2、创建数据报,用于接受客户端发送的数据
//3、接受客户端发送的数据
//1、定义客户端的地址、端口号、數据
// 这里也可以自己设置
//2、创建数据报包含响应的数据信息
 
//1、定义服务器的地址、端口号、数据
//2、创建数据报,包含发送的数据信息
//4、姠服务器发送数据
//接受服务器端响应数据
//1、创建数据报用于接受服务器端响应数据
//2、接受服务器响应的数据
 
 
在项目中,我对 OkHttp 进行了简单嘚封装基本满足我在项目中的需要。
下面贴上我的 工具类

如果有对 okhttp 框架感兴趣的可以参阅下面的网址。我就不献丑了

路漫漫其修远兮,吾将上下而求索
在程序员的道路上,我还只是一个刚上路的小学生怀着对代码世界的向往,砥砺前行

您的每一次点赞,关注都昰对我的一种激励

内容提示:【精品】网络程序设計习题课

文档格式:PPT| 浏览次数:23| 上传日期: 23:57:13| 文档星级:?????

全文阅读已结束如果下载本文需要使用

该用户还上传了这些文档

参考资料

 

随机推荐