Как создать порядковый номер и ACK в сокете Python 2.7 UDP - PullRequest
3 голосов
/ 20 апреля 2019

У меня есть код ниже.Прямо сейчас я просто помещаю sequence number и ACK в полезную нагрузку.Я хотел бы знать две вещи:

  1. Как поместить эту информацию в заголовок как для клиента, так и для сервера?
  2. Как я могу распечатать 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...