Я пытаюсь сохранить сообщение, полученное из сокета, в переменной для дальнейшего использования.
Например, я хочу сохранить второе отправленное сообщение и сохранить его в переменной для используйте позже.
Я перепробовал все, но ничего не помогает, и я постоянно получаю ошибки.
Вот все, что у меня есть:
import socket
import threading
# Constants
HEADER = 1024
PORT = 1002
SERVER = socket.gethostbyname(socket.gethostname())
FORMAT = 'utf-8'
DISCONNECT_MESSAGE = '!DISCONNECT'
# List to store messages
messages = []
# Create and bind the server
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # AF_INET = IP, SOCK_STREAM = TCP
server.bind((SERVER, PORT))
def handle_client(client_socket, client_address):
"""Handle communication with a single client."""
print(f"[NEW CONNECTION] {client_address} connected.")
connected = True
while connected:
try:
# Receive the message length
msg_length = client_socket.recv(HEADER).decode(FORMAT)
if msg_length:
msg_length = int(msg_length)
msg = client_socket.recv(msg_length).decode(FORMAT)
# Log and store the message
print(f"[{client_address}] {msg}")
messages.append((client_address, msg)) # Add to the list
print(messages[0])
# Disconnect if the message is the DISCONNECT_MESSAGE
if msg == DISCONNECT_MESSAGE:
connected = False
except Exception as e:
print(f"[ERROR] {e}")
break
client_socket.close()
def start():
"""Start the server and listen for connections."""
server.listen()
print(f"[LISTENING] Server is listening on {SERVER}")
while True:
client_socket, client_address = server.accept()
thread = threading.Thread(target=handle_client, args=(client_socket, client_address))
thread.start()
print(f"[ACTIVE CONNECTIONS] {threading.active_count() - 1}")
print("[STARTING] Server is starting...")
start()
Подробнее здесь: https://stackoverflow.com/questions/792 ... -later-use
Как сохранить сообщения в переменной для последующего использования? ⇐ Python
Программы на Python
1734365234
Anonymous
Я пытаюсь сохранить сообщение, полученное из сокета, в переменной для дальнейшего использования.
Например, я хочу сохранить второе отправленное сообщение и сохранить его в переменной для используйте позже.
Я перепробовал все, но ничего не помогает, и я постоянно получаю ошибки.
Вот все, что у меня есть:
import socket
import threading
# Constants
HEADER = 1024
PORT = 1002
SERVER = socket.gethostbyname(socket.gethostname())
FORMAT = 'utf-8'
DISCONNECT_MESSAGE = '!DISCONNECT'
# List to store messages
messages = []
# Create and bind the server
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # AF_INET = IP, SOCK_STREAM = TCP
server.bind((SERVER, PORT))
def handle_client(client_socket, client_address):
"""Handle communication with a single client."""
print(f"[NEW CONNECTION] {client_address} connected.")
connected = True
while connected:
try:
# Receive the message length
msg_length = client_socket.recv(HEADER).decode(FORMAT)
if msg_length:
msg_length = int(msg_length)
msg = client_socket.recv(msg_length).decode(FORMAT)
# Log and store the message
print(f"[{client_address}] {msg}")
messages.append((client_address, msg)) # Add to the list
print(messages[0])
# Disconnect if the message is the DISCONNECT_MESSAGE
if msg == DISCONNECT_MESSAGE:
connected = False
except Exception as e:
print(f"[ERROR] {e}")
break
client_socket.close()
def start():
"""Start the server and listen for connections."""
server.listen()
print(f"[LISTENING] Server is listening on {SERVER}")
while True:
client_socket, client_address = server.accept()
thread = threading.Thread(target=handle_client, args=(client_socket, client_address))
thread.start()
print(f"[ACTIVE CONNECTIONS] {threading.active_count() - 1}")
print("[STARTING] Server is starting...")
start()
Подробнее здесь: [url]https://stackoverflow.com/questions/79285331/how-do-i-store-messages-in-a-variable-for-later-use[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия