У меня есть код ниже.Прямо сейчас я просто помещаю sequence number
и ACK
в полезную нагрузку.Я хотел бы знать две вещи:
- Как поместить эту информацию в заголовок как для клиента, так и для сервера?
- Как я могу распечатать ACK на клиенте и последовательностиномер на сервере?
Я использую Python 2.7.13 для Linux.
Клиент:
import socket
client_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
client_socket.settimeout(4.0)
message = "Sequence Number: 100\nACK: 1"
addr = ("127.0.0.1", 6000)
client_socket.sendto(message, addr)
try:
data, server = client_socket.recvfrom(1024)
# Print the ACK the server sent
except socket.timeout:
print('Timed out')
Сервер:
import socket
server_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
server_socket.bind(("127.0.0.1", 6000))
while True:
message, address = server_socket.recvfrom(1024)
# Print the sequence number the client sent
# Set ACK to 0 and send this ACK to the client
server_socket.sendto(message, address)