首页技术文章正文

udp和tcp的服务端和客户端

更新时间:2018-07-20 来源:黑马程序员 浏览量:

socket简介

ocket(简称 套接字) 是进程间通信的一种方式,它与其他进程间通信的一个主要不同是:

它能实现不同主机间的进程间通信,我们网络上各种各样的服务大多都是基于 Socket 来完成通信的

例如我们每天浏览网页、QQ 聊天、收发 email 等等

udp网络程序-发送、接收数据

1. udp网络程序-发送数据

创建一个基于udp的网络程序流程很简单,具体步骤如下:

创建客户端套接字
发送/接收数据
关闭套接字
1532076715099_1.jpg
代码如下:

1532076722428_2.jpg
2. udp网络程序-发送、接收数据
1532076735928_3.jpg
tcp客户端

tcp的客户端与服务端

大家都使用过 QQ、微信、支付宝、外卖、银行等等各种手机 APP, 这些软件叫做客户端。
这些客户端软件都有一个特点: 如果只有客户端软件是无法享受到软件提供的服务. 客户端软件需要与服务器端软件相互配合才能完成. 简言之, 客户端就是接受服务的一方, 服务器端就是提供服务的一方。

tcp有严格的客户端和服务端之分。基于 TCP 传输方式的通信就必须事先建立连接, 则有一方是主动连接的,而另一方是被连接的; 主动连接的一方一般都是客户端, 被连接的一方一般都是服务端。
1532076743115_4.jpg
tcp客户端构建流程

示例代码:

1532076750319_5.jpg
<1>tcp客户端
1532076758631_6.jpg
tcp服务器

生活中的电话机
如果想让别人能更够打通咱们的电话获取相应服务的话,需要做以下几件事情:

买个手机
插上手机卡
设计手机为正常接听状态(即能够响铃)
静静的等着别人拨打

tcp服务器

如同上面的电话机过程一样,在程序中,如果想要完成一个tcp服务器的功能,需要的流程如下:

socket创建一个套接字
bind绑定ip和port
listen使套接字变为可以被动连接,即开启监听
accept等待客户端的连接
recv/send接收发送数据

一个很简单的tcp服务器如下:
1532076766100_7.jpg
<1>tcp服务器
1532076773241_8.jpg

1532076781975_9.jpg

作者:黑马程序员人工智能+Python培训学院

首发:http://python.itheima.com/

   

分享到:
在线咨询 我要报名
和我们在线交谈!