Java socket报文通信(一)socket的建立
来源:互联网 发布:淘宝店铺起名 编辑:程序博客网 时间:2024/05/18 01:06
今天来和大家分享一下java中如何使用socket进行通信。先来啰嗦两句,看看Tcp/ip和udp:
TCP是Transfer Control Protocol的 简称,是一种面向连接的保证可靠传输的协议。通过TCP协议传输,得到的是一个顺序的无差错的数据流。发送方和接收方的成对的两个socket之间必须建 立连接,以便在TCP协议的基础上进行通信,当一个socket(通常都是server socket)等待建立连接时,另一个socket可以要求进行连接,一旦这两个socket连接起来,它们就可以进行双向数据传输,双方都可以进行发送 或接收操作。
UDP是User Datagram Protocol的简称,是一种无连接的协议,每个数据报都是一个独立的信息,包括完整的源地址或目的地址,它在网络上以任何可能的路径传往目的地,因此能否到达目的地,到达目的地的时间以及内容的正确性都是不能被保证的。
(一)两者之间的比较
UDP:
- 每个数据报中都给出了完整的地址信息,因此无需要建立发送方和接收方的连接。
- UDP传输数据时有大小限制的,每个被传输的数据报必须限定在64KB之内。
- UDP是一个不可靠的协议,发送方所发送的数据报并不一定以相同的次序到达接收方。
TCP:
- 面向连接的协议,在socket之间进行数据传输之前必然要建立连接,所以在TCP中需要连接时间。
- TCP传输数据大小限制,一旦连接建立起来,双方的socket就可以按统一的格式传输大的 数据。
- TCP是一个可靠的协议,它确保接收方完全正确地获取发送方所发送的全部数据。
(二)应用
- TCP在网络通信上有极强的生命力,例如远程连接(Telnet)和文件传输(FTP)都需要不定长度的数据被可靠地传输。但是可靠的传输是要付出代价的,对数据内容正确性的检验必然占用计算机的处理时间和网络的带宽,因此TCP传输的效率不如UDP高。
- UDP操作简单,而且仅需要较少的监护,因此通常用于局域网高可靠性的分散系统中client/server应用程序。例如视频会议系统,并不要求音频视频数据绝对的正确,只要保证连贯性就可以了,这种情况下显然使用UDP会更合理一些。
注:以上内容是在网上找的,为了节省时间,我就不再自己写了。
下面我们来看看如何搭建socket环境:
socket通信分为客户端和服务器端。服务器端会不停的监听,当服务器端监听到有客户端向其发送通信请求的时候,双方建立连接。通信完毕后,双方关闭连接。
首先我们来看如何搭建客户端:
下面是服务器端得搭建:
这是我们先启动服务器端,再启动客户端(顺序不能乱),当我在客户端输入abc时,如下:
我们再打开服务器端得控制台,会看到客户端发送的消息:
然后我们再输入123:
我们再打开客户端得控制台:
这里显示了服务端回传的信息,证明我们的通信是没有问题的了。
以上的服务端只能监听一个客户端,要想是想监听多个客户端,我们对服务端做一下修改:
- Java socket报文通信(一)socket的建立
- java socket报文通信(一) socket的建立
- Java socket报文通信(一)socket的建立
- Java socket报文通信(一)socket的建立
- java socket报文通信-报文的封装
- java socket报文通信(二)报文的封装
- java socket报文通信(二)报文的封装
- java socket报文通信(二)报文的封装
- java socket报文通信(二)报文的封装
- java socket报文通信(二)报文的封装
- java socket报文通信(二)报文的封装
- java socket报文通信
- Java Socket应用(一)--Socket通信
- Java Socket 通信 (一)
- java Socket通信(一)
- java Socket通信(一)
- java Socket通信(一)
- java Socket通信(一)
- android 图片圆角处理
- 内域和外域
- 使用Masonry动态设置tableview表头---tableHeaderView(解决表头背景色设置不了问题)
- 【头条】企业云安全防御存在“软肋” 赛门铁克给出应对策略
- RTL模式简介
- Java socket报文通信(一)socket的建立
- 【Jsoup】配合 htmlunit 爬取异步加载的网页
- nginx配置自动转https站点
- javascrpit 面试题收集
- JavaScript是如何工作的:内存管理 + 如何处理4个常见的内存泄露
- docker compose
- HTML杂记
- Spring自定义注解+Aop记录用户操作日志
- 公众号客服怎么接入客户-微信公众号使用教程23