1.背景
想了解一下python socket编程,学习一下"白月黑羽"的Demo,做一下记录。
原文章地址:https://www.byhy.net/tut/py/etc/socket/
2.Demo实现
2.1 查看端口
这里准备用50000端口,先看看端口有没被占用
netstat -an|find /i "50000"
2.2 服务端
from socket import *
IP = ''
PORT = 50000
BUFLEN = 512
listenSocket = socket(AF_INET, SOCK_STREAM)
listenSocket.bind((IP, PORT))
listenSocket.listen(8)
print(f'服务端启动成功,在{PORT}端口等待客户端连接...')
dataSocket, addr = listenSocket.accept()
print('接受一个客户端连接:', addr)
while True:
recved = dataSocket.recv(BUFLEN)
if not recved:
break
info = recved.decode()
print(f'收到对方信息: {info}')
dataSocket.send(f'服务端接收到了信息 {info}'.encode())
dataSocket.close()
listenSocket.close()
2.3 客户端
from socket import *
IP = '127.0.0.1'
SERVER_PORT = 50000
BUFLEN = 1024
dataSocket = socket(AF_INET, SOCK_STREAM)
dataSocket.connect((IP, SERVER_PORT))
while True:
toSend = input('>>> ')
if toSend =='exit':
break
dataSocket.send(toSend.encode())
recved = dataSocket.recv(BUFLEN)
if not recved:
break
print(recved.decode())
dataSocket.close()