Nazwanie socketu w inny sposób

0

Witam, czy można nazwać socket wybierając nazwę z listy? Będzie mi to potrzebne do dalszej części programu, gdzie nazwa socketu będzie w tablicy łącznie z innymi danymi i to wszystko będzie zamieszane, więc nie będę wiedzieć jaka nazwa jest połączona z innymi danymi, żeby ją wpisać. Chodzi mi więc o to, żeby w tym przypadku uzyskać nazwę "c" w inny sposób niż wpisanie jej bezpośrednio.

import socket

arr = ["a", "b", "c"]

c = socket.create_connection(("<host>", <port>))
arr[2].send("<something>\n")
arr[2].close()

AttributeError: 'str' object has no attribute 'send'

0

Zanim zabierzesz się za programowanie socketów, opanuj podstawy programowania!
Ten kod wskazuje, że nie masz pojęcia co robisz i jesteś na początku nauki, a elastyczność Pythona mąci ci w głowie.

ta linijka:

c = socket.create_connection(("<host>", <port>))

Nie ma nic wspólnego z tymi linijkami:

arr = ["a", "b", "c"] # tworzy tablicę NAPISÓW

arr[2].send("<something>\n") # próbuje wykonać operację "send" na napisie "c" co nie ma sensu, dlatego python rzuca wyjątkiem
arr[2].close() # próbuje wykonać operację "close" na napisie "c" co nie ma sensu, dlatego python rzuciłby wyjątkiem, gdyby nie linijka wyżej
0

https://docs.python.org/2/library/socket.html
Coś mi się wydaje, że najpierw powinieneś stworzyć obiekt socket (socket.socket), następnie wrzucić go do np. tablicy [socket_1, socket_2, ... socket_n], a potem z niej korzystać. A nie tworzysz tablicę stringów i dziwisz się, ze nie działa.

1 użytkowników online, w tym zalogowanych: 0, gości: 1