sendto
import socket
updSocket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
updSocket.sendto("helloworld!".encode('utf-8'),("172.20.52.75", 3333))
updSocket.close()
bind
import socket
udpSocket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
udpSocket.bind(("172.20.52.75", 6666)) # IP省略表示是自己的IP 绑定发送方的端口 内部是一个元组
udpSocket.sendto("hello world!".encode("UTF-8"),("172.20.52.75", 4444)) #对方IP和Port
data = udpSocket.recvfrom(1024) #阻塞
print(data[0].decode("gbk")) #内容
print(data[1]) #IP和port
udpSocket.close()
broadcast
import socket
udpSocket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
udpSocket.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, True) #设置广播
udpSocket.sendto("哈哈 打不过我吧~ 啦啦啦~".encode("GBK"), ("255.255.255.255", 7777))
udpSocket.close()
TCPclient
import socket
address = '127.0.0.1'    #监听哪些网络127.0.0.1是监听本机 0.0.0.0是监听整个网络
tcpSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #创建套接字
#tcpSocket.bind(("",12345)) #元组
tcpSocket.connect(("172.20.52.75",7777))
tcpSocket.send('约吗?'.encode("GBK")) #已经建立了连接 直接发送
recvData = tcpSocket.recv(1024)
print(recvData.decode("GBK"))
tcpSocket.close()
TCPserver
import socket
tcpSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #创建套接字
tcpSocket.bind(("",8080)) #元组
tcpSocket.listen(128) #监听上限 在windows 128有效 在linux无效
newSocket,ipPort = tcpSocket.accept() #阻塞等待客户端连接 ipPort是个元组只有两个元素
print(ipPort[0]) #IP
print(ipPort[1]) #port
recvData = newSocket.recv(1024)
print(recvData.decode("GBK"))
newSocket.close()
tcpSocket.close()
TCPserver接收多条信息
import socket
tcpSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #创建套接字
tcpSocket.bind(("",8080)) #元组
tcpSocket.listen(128) #监听上限 在windows 128有效 在linux无效
newSocket,ipPort = tcpSocket.accept() #阻塞等待客户端连接 ipPort是个元组只有两个元素
print(ipPort[0]) #IP
print(ipPort[1]) #port
while True:
    recvData = newSocket.recv(1024)
    # 当接收到数据为空的时候,表示客户端已经断开连接了
    if recvData:
        print(recvData.decode("GBK"))
    else:
        print("客户端断开连接!")
        newSocket.close()
        break
tcpSocket.close()
来源:CSDN
作者:姚军博客
链接:https://blog.csdn.net/SYaoJun/article/details/103883296