Я учусь подключаться к сокетам, отправлять и получать байты.
Я слежу за книгой и учебником. В этом руководстве gentelman форматирует строку, включающую в себя длину сообщения, а также буфер для заголовка сообщения + самого сообщения. Моя отформатированная строка выглядит так же, как в видео, но возвращается с неверным синтаксисом, указывающим на "
.
msg = f"{len(msg):<{HEADERSIZE}}" + msg
SyntaxError: invalid syntax ^
Я проверил синтаксис для f -strings и это то, что он говорит:
>>> name = "Eric"
>>> age = 74
>>> f"Hello, {name}. You are {age}."
Я использую python 3.7, как в видео. - https://youtu.be/8A4dqoGL62E?t=326
import socket
HEADERSIZE = 10
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((socket.gethostname(), 1240))
s.listen(5)
while True:
clientsocket, address = s.accept()
print(address)
msg = "Welcome to the server!"
msg = f"{len(msg):<{HEADERSIZE}}" + msg
clientsocket.send(bytes("Welcome to the server!"))