你绝对想象不到的端对端通信的几种方式
admin
2024-03-17 09:54:09
0

一、前言
今天要和大家说的是我们常用的一些端对端的通信方式,这里我们会以python和php语言为主,举例说明客户端、浏览器端和服务器端通信,部分代码可能展示不全,不过我会放在文末链接供大家下载测试,下面我们先来让大家看看今天有哪些主题。

1、tcp
2、udp
3、ajax
4、websocket
5、sse
下面我们将从这几个方面一起来深入了解下这几种技术的实现方法。

二、TCP
1、Python版本:
首先来写服务器端,文件名为server.py,内容如下:

再来看看客户端,文件名为client.py,内容如下:

我们来看看运行结果,如下:

可以看到,接收发送信息都能实现,而且客户端下线了还有通知。

2、PHP版本
PHP想要进行TCP通信,我们得开启socket扩展,打开php目录下的php.ini文件,改动一处即可,如下:

开启后即可使用socket功能。得先首先还是服务器端代码,文件名为server.php,内容如下:

接下来是客户端,文件名为client.php,内容如下:

我们来看下结果,如下:

其实,php除了这种方式可以访问TCP连接外,还有两种方法,一种是fsockopen,还有一种是stream_socket_client,这里我们得服务器端代码不变,只对访问服务器端的客户端代码进行一些变动即可。

1).fsockopen

2).stream_socket_client

三、UDP
讲完了TCP,咱们再来说说UDP,这是一种不可靠的传输协议,但是速度快,这是它有别于TCP的地方,因此它比TCP更简单,实现一个UDP实例,代码会比前者少,下面我们一一来实现。

1、Python版本
先还是服务器端,文件名为server.py,内容如下:

其次是客户端,文件名为client.py,内容如下:

我们来看下运行结果如下:

2、PHP版本
先看服务器端的代码,文件名为server.php,内容如下:

再来看看客户端的代码,文件名为client.php,内容如下:

最后我们来看看执行结果,如下:

PHP的UDP通信和TCP一样,也有三种,上面我们介绍了一种,还有两种我们来一一介绍。

1).fsockopen
先来看看服务器端代码,文件名为server.php,内容如下:

再来看看客户端代码,文件名为client.php,内容如下:

2).stream_socket_client
这两种方法的的服务端是一样的,唯一的区别就是客户端有一点小小的区别,因此这里就不放服务端的代码了,只放客户端代码,如下:

我们来看看结果,如下:

四、AJAX
这应该算是我们比较熟悉的服务器端和浏览器端交互的方式了吧,而且为了方便一般都会使用jQuery去实现,有时候也会用原生的XMLHttpRequest,这里我们针对这两种方法一一实现。

1、Python版本
这里python版本的ajax我们使用flask实现会比较容易一些。

1).XMLHttpRequest

2).Jquery

下面来看下两者的运行结果,如下:

2、PHP版本
1).XMLHttpRequest

2).Jquery

下面来看下运行结果,如下:

五、websocket
1、Python版本
这里有两个版本,一个是原生的,利用socket模块,实现比较复杂,还有一种是利用模块,比较简单,下面我们一一介绍下。

1).原生
原生的话,会麻烦许多,主要是对服务器端的数据进行处理,如下:

下面来看下结果,如图:

2).模块
运用现有的websocket模块会比原生的简单很多,如图:

2、PHP版本
php也有原生和框架两个版本,下面我们来一一说明一下。

1).原生

2).workerman

六、SSE
1、Python版本

2、PHP版本

然后再cmd中运行PHP内置服务器,如下:

七、总结
以上就是比较常用的通信方式,其实每个编程语言基本上都可以实现,这里小编选择了两种比较熟悉的语言来进行举例,希望能帮到大家,以上所有代码如下:

Ajax
python:
https://url25.ctfile.com/f/34512525-740232809-e73a05?p=7054 (访问密码: 7054)

php:
https://url25.ctfile.com/f/34512525-740232808-2075d7?p=7054 (访问密码: 7054)

tcp
python:
https://url25.ctfile.com/f/34512525-740232796-eb04d1?p=7054 (访问密码: 7054)

php:
https://url25.ctfile.com/f/34512525-740232792-1e4408?p=7054 (访问密码: 7054)

udp
python:
https://url25.ctfile.com/f/34512525-740232786-8e234a?p=7054 (访问密码: 7054)

php:
https://url25.ctfile.com/f/34512525-740232785-57bcbc?p=7054 (访问密码: 7054)

websocket
python
原生:
https://url25.ctfile.com/f/34512525-740232779-a4aa14?p=7054 (访问密码: 7054)

模块:
https://url25.ctfile.com/f/34512525-740232778-9a8440?p=7054 (访问密码: 7054)

php
原生:
https://url25.ctfile.com/f/34512525-740232781-f7ddd4?p=7054 (访问密码: 7054)

框架:
https://url25.ctfile.com/f/34512525-740232780-ca7fce?p=7054 (访问密码: 7054)

sse
python:
https://url25.ctfile.com/f/34512525-740232774-27c899?p=7054 (访问密码: 7054)

php:
https://url25.ctfile.com/f/34512525-740232772-de8947?p=7054 (访问密码: 7054)

相关内容

热门资讯

AI硬件方向局部活跃,科创创业... 节后归来第一周,HBM、电路板、覆铜板等AI硬件方向表现活跃。指数层面,中证科创创业人工智能指数上涨...
刘建军功成身退,芦苇接棒的邮储... 文 / 董轩 来源 / 节点财经 新年伊始,银行业的高层人事变动悄然提速。有人履新赴任,执掌帅印...
原创 2... 马年刚开工,地产圈就被一场土拍炸醒了。 2月25日,广州迎来农历新年后首场重磅土拍——珠江新城马场地...
苏州科达大宗交易溢价成交107... 苏州科达02月27日大宗交易平台共发生1笔成交,合计成交量107.00万股,成交金额1136.34万...
中信证券:AI冲击被夸大,维持... 近日,全球保险类股票集体陷入回调模式,欧美多家保险股2月下跌,尤其是一些老牌保险经纪巨头股价跌幅较大...
城商行“优等生”换帅,准80后... 城商行阵营的“优等生”宁波银行再现系列人事变动。2月26日,宁波银行发布公告称,该行在当天召开的第九...
摩根大通:市场对AI担忧过度 ... 【摩根大通:市场对AI担忧过度 现在是优质软件公司最佳抄底时机】财联社2月27日电,随着“人工智能(...
汇嘉时代精准承接消费政策红利 ... 马年新春消费热潮持续涌动,新疆零售龙头企业汇嘉时代(603101.SH)交出亮眼成绩单。据不完全统计...
马年首个交易周A股主要指数集体... 马年首个交易周,A股主要指数集体收涨,上证指数涨近2%逼近1月高点,全市场日均成交额有所放大。板块题...
抑郁儿子偏执易怒,不是叛逆期作... 阿文是一名高三年级的男生,他一脸的愁容,“刘老师,我近来感觉压力很大,上次区运动会我长跑拿了前三名,...
库克官宣苹果“发布大周”,iP... 【环球网科技综合报道】2月27日消息,据外媒MacRumors报道,苹果CEO蒂姆·库克日前发布预告...
中美大反转,中国AI调用量首超... 当地时间2月26日,刚刚发布财报的英伟达股价大跌5.5%,市值蒸发近2600亿美元,而2月27日A股...
“电诈清零”最后期限仅剩两月,... 当地时间25日,柬埔寨首相洪玛奈在比利时罕见接受采访。在谈及该国电诈相关事宜时,他直言,这种“黑色经...
五年了,公司还没申报IPO:董... 来源:IPO上市号 有个读者留言说,他在一家拟IPO企业已经干了五年董秘,从35岁干到现在40岁,头...
民德电子10亿定增:产能爬坡未... 2月26日晚,民德电子(300656.SZ)抛出不超过10亿元定增预案,拟将7亿元投向控股子公司广芯...
调查!美诚月饼50万元罚单背后... 华夏时报记者 胡梦然 见习记者 黄海婷 深圳摄影报道 近日,因存在虚假宣传违法行为,去年深陷舆论风...
终结四连降,金龙鱼2025年净... 图片来源:视觉中国 蓝鲸新闻2月27日讯(记者 代紫庭)2月26日晚间,粮油行业龙头金龙鱼(3009...
焦点复盘沪指周线、月线均创阶段... 财联社2月27日讯,今日75股涨停,16股炸板,封板率为82%,豫能控股7连板,金正大、章源钨业7天...
原创 父... 在大多数人的想象中,首富的女儿应该过着衣来伸手,饭来张口的生活…… 她们从小就含着金汤匙出生,长大后...
陷入致命僵持,今晚黄金一锤定音... 隔夜,现货黄金维持窄幅震荡,收盘微涨0.4%至5183.88美元,盘中一度跌至5130美元附近但很快...