Ошибка с сокетом

Метадоновый Буратино

Новичок
Пользователь
Июн 7, 2022
23
0
1
Подскажите как решить проблему
1655557354208.png
 
Последнее редактирование:

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 661
474
83
вы используете в сервере AF_INET, а в клиенте - AF_UNIX
так не будет работать, нужно использовать одинаковые типы сокетов

пример эхо сервера
сервер
Python:
import socket

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.bind(("127.0.0.1", 55555))
sock.listen()

while 1:
    user, addr = sock.accept()
    data = user.recv(1024)
    sock.send(data)
    print(data)

клиент (ваш, его не менял, кроме порта - 8888 у меня занят)
Python:
import socket

client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect(('127.0.0.1', 55555))
while True:
    data = client.recv(1024)
    print(data.decode('utf-8'))
    client.send(input().encode('utf-8'))
 
  • Мне нравится
Реакции: Vershitel_sudeb

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
971
219
43
20
Москва
Вставь пожалуйста код как код
1647162378032-png.1702
 

Метадоновый Буратино

Новичок
Пользователь
Июн 7, 2022
23
0
1
import socket

client = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
client.connect(('127.0.0.1', 8888))
while True:
data = client.recv(1024)
print(data.decode('utf-8'))
client.send(input().encode('utf-8'))
Ошибка TypeError: a bytes-like object is required, not 'tuple'[/CODE]
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
971
219
43
20
Москва
import socket

client = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
client.connect(('127.0.0.1', 8888))
while True:
data = client.recv(1024)
print(data.decode('utf-8'))
client.send(input().encode('utf-8'))
Ошибка TypeError: a bytes-like object is required, not 'tuple'[/CODE]
я специально фото прикрепил как код вставлять
 

Метадоновый Буратино

Новичок
Пользователь
Июн 7, 2022
23
0
1
я специально фото прикрепил как код вставлять
Python:
import socket

client = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
client.connect(('127.0.0.1', 8888))
while True:
    data = client.recv(1024)
    print(data.decode('utf-8'))
    client.send(input().encode('utf-8'))
 

Метадоновый Буратино

Новичок
Пользователь
Июн 7, 2022
23
0
1
вы используете в сервере AF_INET, а в клиенте - AF_UNIX
так не будет работать, нужно использовать одинаковые типы сокетов

пример эхо сервера
сервер
Python:
import socket

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.bind(("127.0.0.1", 55555))
sock.listen()

while 1:
    user, addr = sock.accept()
    data = user.recv(1024)
    sock.send(data)
    print(data)

клиент (ваш, его не менял, кроме порта - 8888 у меня занят)
Python:
import socket

client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect(('127.0.0.1', 55555))
while True:
    data = client.recv(1024)
    print(data.decode('utf-8'))
    client.send(input().encode('utf-8'))
Спасибо! Даже не подозревал, что так опечатался
 

Форум IT Специалистов