socket 模块

socket 模块

1.通常也称作"套接字",底层套件,用来处理最底层消息的接受和发送 (读/写IO、打开、关闭)
2.了解通讯机制,向网络发送请求,给予回应。
hello

基于TCP

#创建一个服务器。tcp
import socket
#创建一个套接字
#                1.需要定义一个传输的协议(tcp)SOCK_STREAM。
#                2.IP协议的版本AF_INET,IPV4
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
#绑定IP和端口;;;bing接受的是元组类型,只能是自己(服务器)的ip地址。0.0.0.0 本机上所有的ip地址
s.bind(('127.0.0.1',4000))
#监听端口号=======netstat
s.listen(3) #数字指的是最大的挂起数(挂起数:指最大等待数)

a,b = s.accept()  #接受请求会产生两个结果
#第一个结果是连接信息,第二个结果客户端的ip地址和端口号
print(a)
while True:
    h=a.recv(1024)#客户端发送的数据在recv里边。 h为c接收到的数据  1024指最大接收到的数据量为1024个字节。
    print(h.decode('utf-8')) #解码
    msg='welcome'
    a.send(msg.encode('utf-8')) #编码
#创建一个客户端。tcp
import socket

# 创建一个套接字
#                1.需要定义一个传输的协议(tcp)SOCK_STREAM。
#                2.IP协议的版本AF_INET,IPV4
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

s.connect(('127.0.0.1', 4000)) #连接服务器


while True:
    a=input('????:')
    res = a
    s.send(res.encode('utf-8'))  # 编码 并给服务器发送123456
    b=s.recv(1024)#接受服务器响应。
    print(b.decode('utf-8'))
# s.close()

基于UDP

### UDP 服务器。。  UDP
import socket
s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
a=('127.0.0.1',8000)
s.bind(a)
while True:
    conn,addr= s.recvfrom(1024)  #coon是接收到的数据,addr是客户端的信息。(ip地址和端口)
    print(conn.decode('utf-8'))  # 对收到的数据进行解码
    msg ='hello,i am kehuduan'

    s.sendto(msg.encode('utf-8'),addr)#编码
#创建一个客户端:UDP
import socket
s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)

reg = 'who are you!'

addrs = (('127.0.0.1',8000))

s.sendto(reg.encode('utf-8'),addrs)

conn = s.recv(1024)
print(conn.decode('utf-8'))

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值