Python网络编程步骤

服务端开发步骤

1、创建服务端socket套接字,用于接受客户端的连接请求。

server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

socket.AF_INET:表示使用IPV4的地址

socket.SOCK_STREAM:表示使用TCP协议

2、通过socket套接字设置服务端程序的IP和端口

server_socket.bind(('IP地址', 端口号))

3、通过 socket 设置监听:设置同一时间最多支持多少个客户端向服务端发起连接请求

server_socket.listen(n)

n:代表同一时间最多支持n个客户端向服务端发起连接请求

4 、服务端等待接收客户端的连接请求

service_client_socket, ip_addr = server_socket.accept()

有两个返回值

service_client_socket:也是一个 socket 套接字,负责和连接的客户端进行通信(数据的接收和发送)

ip_addr:客户端的IP和端口号

5、和客户端之间进行数据的接收和发送

recv_msg = service_client_socket.recv(n) # bytes

print('客户端发送的消息为:', recv_msg.decode())

先接收客户端发送的数据

n:代表一次 recv 最多接收 n个字节

注意:当客户端没有发送数据过来时,recv也会阻塞等待

send_msg = input('请输入给客户端回应的消息:')

service_client_socket.send(send_msg.encode())

再给客户端发送一个回应的数据

6、关闭服务端的socket套接字

service_client_socket.close()

server_socket.close()

 

服务端开发有六步,可以分为准备阶段、运行阶段、和最后的关闭。

准备阶段为:

创建socket套接字,里面有两个参数socket.AF_INET, socket.SOCK_STREAM,分别是IP地址和TCp协议。

第二步是通过套接字设置服务端程序的IP地址

第三步是通过socket监听,设置可以统一时间有多少设备可以连接。

第四步就可以准备接受客服端发送的消息了,这一步有两个返回值分别用service_client_socket和ip_addr接受。

然后是运行阶段:

运行阶段就是接受客户端消息和回客户端消息。

最后就是关闭socket套接字,要关闭的有service_client_socket.close()和server_socket.close()

客户端开发步骤

1、创建一个客户端的socket套接字

client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

2 、通过客户端的 socket 套接字来连接服务端的 socket

client_socket.connect(('IPaddr',n))

3、 和服务器之间进行数据接受和发送

先给服务端发送数据

send_msg = input('请输入给服务端发送的消息:')

client_socket.send(send_msg.encode())

再接收服务端回应的数据

recv_msg = client_socket.recv(1024)

print('服务端回应的消息为:', recv_msg.decode())

4 、关闭socket套接字

client_socket.close()

客户端开发相对来说步骤较少,但是与服务端一样也可以分为三步, 准备、运行、关闭

创建套接字、通过套接字连接服务端的socket

运行与 服务端相同和服务器之间进行数据的接受与发送。

最后依旧是关闭套接字。

其中还有一个重要点 :

由于客户端和服务端互相发送的数据类型是比特形,所以我们要用到str和bytes之间的类型转换。

变量名 = 比特数据类型.decodes() ----->>bytes转化为str

变量名 = 字符串数据类型.encodes()   ----->>str转化为bytes

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值