<34>python学习笔记——Socket

Socket 套接字

用于描述ip地址和端口,是一个通信链的句柄,应用程序通常通过“套接字”向网络发出请求或者应答网络请求。

socket模块是针对服务器端和客户端Socket进行【打开】【读写】【关闭】



最简单的代码范例:

服务器端:

import socket
#服务器端
ip_port = ('127.0.0.1',9999)#声明IP地址端口
sk = socket.socket()#生成socket句柄
sk.bind(ip_port)#绑定IP端口,以元组传入
sk.listen(5)#监听,最大允许连接5个

while True:
    print('sever waiting...')
    conn,addr = sk.accept() #服务器端会把客户端发过来的IP地址和端口生成一个实例(阻塞)。这个实例只为这个客户端服务。返回两个值
    #返回两个值,conn是为客户端生成的实例,只为这个客户端服务 addr是客户端地址。

    client_data = conn.recv(1024)#通过调用这个实例recv数据.参数是每次收取的数据大小
    print(client_data)
    conn.sendall('发回一句话') #这个时候客户端也要recv收取

    conn.close()
客户端:

import socket
#客户端
ip_port = ('127.0.0.1',9999)

sk = socket.socket() #生成一个socket句柄
sk.connect(ip_port) #连接ip和端口

sk.sendall(bytes('发过去一句话','utf8'))  #3.o后要发比特数据和编码

server_reply = sk.recv(1024) #接收到服务端发来那句话
print(str(server_reply,'utf8'))

sk.close()
服务端在每完成一个链接后进入等待,客户端每完成一次链接后会关闭



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值