import socket
#socket采用cs结构,client and Server B/S browser and server
sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
#family 族
# socket.AF_INET ip
# socket.AF_INET6 ipv6
# socket.AF_UNIX unix系统间数据传输使用的协议
#type 类型
# socket.SOCK_STREAM TCP
# socket.SOCK_DGRAM UDP
#被动阻塞式接收
#被动,不主动发起通信,只是等待通信请求
#阻塞,当发起通信的时候,只有完成一次通信才可以进入下一次
#通信三种类型
# 单工 通信只有一条信道,通信双方身份不可逆 BB机
# 半双工 通信只有一条信道,通信双方身份可逆 对讲机
# 全双工 通信只有多条信道,通信双方身份可逆 电话
sock.bind(("",8000))
#双元素元组
# 元素一 是ip 如果为空,绑定当前所有ip
# 元素二 是端口,0-65535个端口,通常前1000个时系统预留端口
# 3306 mysql
# 22 ssh
# 80 http
# 224 https
# 8000 酷狗音乐
sock.listen(5) #监听
#队列长度
con,add = sock.accept() #接收
#con 一个新的socket对象
#add 客户端的身份 ip和端口
while True:
content = con.recv(512)
#单次接收最大长度是512字节
print(content.decode())
send_data = input(">>>").encode()
con.send(send_data)
sock.close()
#coding:utf-8
import socket
sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
sock.connect(("10.10.21.131",8000))
# sock.connect(("10.10.21.131",8000))
while True:
send_data = input(">>>").encode()
sock.send(send_data)
content = sock.recv(512)
print(content.decode())
sock.close()