ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python网络编程

2021-08-15 14:31:07  阅读:119  来源: 互联网

标签:python ip 编程 网络 服务端 进程 多线程 端口号 客户端


什么是 socket?简述基于 tcp 协议的套接字通信流程。
socket(简称套接字) 是进程间通信的⼀种⽅式, 能实现不同主机间的进程间通信。

流程:

通信双方实例化tcpSocket对象,服务端绑定ip和端口号并执行lisient()方法进入监听状态。
客户端执行connect()方法请求连接,双方完成三次握手建立连接(模块内部实现)。
服务段执行accept()方法获得连接对象,双方实现通信。
通信结束执行close()方法关闭连接。


简述基于 udp 协议的套接字通信流程。
通信双方实例化tcpSocket对象,服务端绑定ip和端口号。
客户端和服务端都可以执行sendto()方法发送数据给指定ip地址和端口号的主机。
客户端和服务端都可以执行recvfrom()方法获得发送给自己的数据以及发送方的ip和端口号。
通信结束执行close()关闭socket对象。

网络编程中设计并发服务器,使用多进程与多线程,请问有什么区别?
多进程:
开启多个进程为客户端服务,同一时刻可为多个客户端提供服务,但是任务量大会因为创建进程的开销影响服务器性能。

多线程:
一个进程内开启多个线程,同一时刻只能为一个客户端服务,I/O等待的时间可以进行别的任务,不会浪费时间,不影响服务器性能,推荐使用。

大规模连接上来,并发模型怎么设计?
多进程:
开启多个进程为客户端服务,同一时刻可为多个客户端提供服务,但是任务量大会因为创建进程的开销影响服务器性能。

多线程:
一个进程内开启多个线程,同一时刻只能为一个客户端服务,I/O等待的时间可以进行别的任务,不会浪费时间,不影响服务器性能,推荐使用。

协程:
协程的优势在于函数入口可以是上次停止的地方,显然对大规模连接没什么帮助。

所以这种情况推荐使用多线程来设计并发模式。

标签:python,ip,编程,网络,服务端,进程,多线程,端口号,客户端
来源: https://www.cnblogs.com/holmes7521/p/15143364.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有