django学习(一):实现服务器与客户端通信

服务器端

import socket

sock=socket.socket()
sock.bind(('127.0.0.1',8000))
sock.listen(5)
while True:
    server,addr=sock.accept()
    data=server.recv(1024)
    print(data)
    server.sendall('HTTP /1.1 200 OK \r\n\r\n  hi_吃饭了吗'.encode())
    server.close()
# sock.close()

客户端

import socket

cilent=socket.socket()
cilent.connect(('127.0.0.1',8000))
cilent.sendall(b'hello_world')
data=cilent.recv(1024)
print(data)
cilent.close()

相关方法说明:

名 称描 述
服务端服务器套接字方法
s.bind(ADDR)将地址(主机名、端口号对)绑定到套接字上
s.listen([backlog])设置并启动 TCP 监听器,如果指定backlog,则必须至少为0(如果低于0,则设置为0);
s.accept()被动接受 TCP 客户端连接,一直等待直到连接到达(阻塞)
客户端客户端套接字方法
s.connect()主动发起 TCP 服务器连接
s.connect_ex()connect()的扩展版本,此时会以错误码的形式返回问题,而不是抛出一个异常
普通通用普通的套接字方法
s.recv()接收 TCP 消息
s.recv_into()接收 TCP 消息到指定的缓冲区
s.send()发送 TCP 消息
s.sendall()完整地发送 TCP 消息
s.recvfrom()接收 UDP 消息
s.recvfrom_into()接收 UDP 消息到指定的缓冲区
s.sendto()发送 UDP 消息
s.getpeername()连接到套接字(TCP)的远程地址
s.getsockname()当前套接字的地址
s.getsockopt()返回给定套接字选项的值
s.setsockopt()设置给定套接字选项的值
s.shutdown()关闭连接
s.close()关闭套接字
s.detach()在未关闭文件描述符的情况下关闭套接字,返回文件描述符
s.ioctl()控制套接字的模式(仅支持 Windows)
阻塞面向阻塞的套接字方法
s.setblocking()设置套接字的阻塞或非阻塞模式
s.settimeout()设置阻塞套接字操作的超时时间
s.gettimeout()获取阻塞套接字操作的超时时间
文件方法面向文件的套接字方法
s.fileno()套接字的文件描述符
s.makefile()创建与套接字关联的文件对象
属性数据属性
s.family套接字家族
s.type套接字类型
s.proto套接字协议

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值