UDP套接字编程
1.UDPClient.py
from socket import *
serverName = "IP地址"
serverPort = 12000
clientSocket = socket(AF_INET, SOCK_DGRAM) #使用IPv4 UDP套接字
message = input('Input lowercase sentence:') #python3不支持raw_input()
clientSocket.sendto(message.encode(), (serverName, serverPort)) #对内容编码 为报文附上目的地址(IP+端口号)
modifiedMessage, serverAddress = clientSocket.recvfrom(2048) #保存接收到的数据和服务器地址
print(modifiedMessage.decode())
clientSocket.close()
2.UDPServer.py
from socket import *
serverPart = 12000
serverSocket = socket(AF_INET, SOCK_DGRAM)
serverSocket.bind(('', serverPart)) #将端口号12000与套接字绑定
print("The server is ready to receive")
while True: #等待接收
message, clientAddress = serverSocket.recvfrom(2048) #保存接收到的数据和客户机地址
modifiedMessage = message.decode().upper() #信息解码并转换成大写
serverSocket.sendto(modifiedMessage.encode(), clientAddress) #重新编码并发送
TCP套接字编程
1.TCPClient.py
from socket import *
serverName = "IP地址"
serverPort = 12000
clientSocket = socket(AF_INET, SOCK_STREAM) #IPv4 TCP套接字
clientSocket.connect((serverName, serverPort)) #客户机和服务器之间创建TCP连接、执行三次握手
sentence = input('Input lowercase sentence:')
clientSocket.send(sentence.encode())
modifiedSentence = clientSocket.recv(1024)
print('From Server:', modifiedSentence.decode())
clientSocket.close()
2.TCPServer.py
from socket import *
serverPort = 12000
serverSocket = socket(AF_INET, SOCK_STREAM) #创建欢迎套接字
serverSocket.bind(('', serverPort))
serverSocket.listen(1) #设置服务器接收客户机请求次数
print('The server is ready to receive')
while True:
connectionSocket, addr = serverSocket.accept() #当有客户机敲门时,服务器要创建一个新的连接套接字
sentence = connectionSocket.recv(1024).decode()
capitalizedSentence = sentence.upper()
connectionSocket.send(capitalizedSentence.encode())
connectionSocket.close()
note
查看本地IP地址的方式:cmd——ipconfig/all