首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

计算机之间是如何实现通信的

如今,计算机网络已经成为我们日常生活的必需品,无论是工作时发送邮件,还是上网聊天,都离不开计算机网络,那么,什么是计算机网络呢?多台计算机之间是如何实现连接并且进行数据交换的呢?这篇文章小编为与你介绍!

计算机网络

所谓的计算机网络简单来说就是指通过某一种方式将多台计算机进行连接并实现计算机彼此之间的互联和数据交换!

在计算机网络中,计算机之间要实现连接和通信,就需要遵守一定的规则,我们把这种连接和通信的规则称为网络通信协议,它对数据的传输格式,传输速率和传输步骤等都做了统一规定,通信双方都必须遵守才能完成数据交换。下面将介绍两种应用广泛的 TCP/IP 协议!「包括了 TCP 协议,IP 协议,UDP 协议. ICMP 协议和其他一些协议的协议组。」

UDP 通信

UDP 是一种面向无连接的协议,因此在通信时发送端和接受端不用建立连接。

接收端:在创建 DatagramSocket 对象时,指定其监听的端口号,然后发送端就可以根据这个端口号来与之通信。简单来说,接收端要做的事情就 DatagramSocket 对象通过 DatagramPacket 这个「包」来接收发送端发送的数据,DatagramPacket 调用方法获得「拆解」接收到的信息并显示给用户!代码如下:

2.发送端:在创建 DatagramSocket 对象的时候需要指定目标 IP 地址和端i口号,而且端口号必须和接收端指定的一致 「暗号」,这样调用 DatagramSocket 的 send 方法时才能将数据发送到对应的接收端,主要代码如下:

TCP 通信

TCP 和 UDP 一样,都能实现两台计算机之间的通信,两端都需要建立 Socket 对象,区别在于,UDP 中只有发送端和接收端,不区分客户端和服务端,而 TCP 通信严格区分客户端和服务端,在通信的时候,必须先由客户端去连接服务端才能实现通信「进行三次握手」,服务端不可以主动连接客户端。

服务端:在客户端发送数据前,服务端程序会暂时停止运行,accept()方法发生阻塞,直到客户端访问时才会结束这种阻塞状态。代码如下:

2. 客户端:在客户端创建 Socket 对象与服务器建立连接后,通过 Socket 对象获取输入流读取服务器端发来的数据,并打印结果。代码如下:

效果图如下:

本文属于原创,如有转载,请标注原作者,版权归本公众号所有。如果你喜欢我写的文章请关注 java资源社区,欢迎大家继续关注本公众号的技术博文。如果您觉得这篇文章对你有所帮助的话,不妨点个赞哈,您的支持就是我坚持原创的动力~~

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180104G02M4N00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券