ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
[TOC] ## 原理 网络编程就是如何在程序中实现两台计算机之间的通信 在开始python网络编程之前,首先要了解一下套接字 ## 套接字 **套接字是一种计算机网络数据结构** 应用程序通常通过"套接字"向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通讯 绑定IP和Port的一组网络标识,可称为套接字,通过该套接字可以在互联网中进行网络连接相关操作 套接字的类型有两种,**面向连接的套接字与无连接的套接字** **面向连接的套接字**提供了顺序的、可靠的、不会重复的数据传输,而且也不会加上数据边界,每一个要发送的信息,可能会被拆成多份,实现这种连接的主要协议就是传输控制协议TCP,套接字类型为SOCK_STREAM,使用IP来查找网络中的主机,这样就形成了整个系统。 **无连接的套接字**,数据到达的顺序、可靠性及数据不重复性无法保证,数据报会保留数据边界,发送消息时不会拆成小块,虽有这么多缺点,但正是无连接的,所以不需要承担维持虚电路连接的负担,性能更好,实现这种连接的主要协议是用户数据报协议UDP,套接字类型为SOCK_DGRAM,也是通过IP来查找网络中的主机。 ## Python socket python网络编程使用socket模块,创建套接字用其socket()函数,语法如下 ``` socket(socket_family, socket_type, protocol = 0) ``` socket\_family可以是AF\_UNIX或AF\_INET,socket\_type可以是SOCK\_STREAM或SOCK\_DGRAM,protocol一般不写,默认为0。 **当我们创建了套接字以后,所有的交互都将通过对该套接字对象的方法调用进行。**