Найти - Пользователи
Полная версия: Использование recv() в Python 3.0
Начало » Python для новичков » Использование recv() в Python 3.0
1
Gremlyaka
Добрый день! Извиняюсь, если такой вопрос уже был (не нашел быстрым поиском), но у меня проблема. Пишу легкий чатик с использованием сокета. При работе серверной части проги выдает такую вот ошибку
Traceback (most recent call last):
File "C:\Python31\Styding\123server.py", line 13, in <module>
server_socket.send(data)
socket.error: [Errno 10057] Запрос на отправку или получение данных (when sending on a datagram socket using a sendto call) no address was supplied
код простой:
import socket
port = 6000
host = "127.0.0.1"
server_socket=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind((host, port))
server_socket.listen(1)
print("Listening the ", port, " port")
address = server_socket.accept()
while 1:
print("I got a connection from", address)
data = bytes(input("SEND: "), 'utf-8')
server_socket.send(data)
print("SENT ")
data = server_socket.recv(512)
if not data:
print("NO DATA")
else:
print("RECIEVED:", data)
#data = data+'000'
#server_socket.send(bytes(data, 'utf-8'))
server_socket.close()
в чем проблема при использовнии .send и .recv??
Андрей Светлов
Вспомните, что возвращает .accept?
Gremlyaka
В хелпе я посмотрел, что возвращает .accept().
В данном случае он возращает
<socket.socket object, fd=1768, family=2, type=1, proto=0>, ('127.0.0.1', 1269)
Чем это поможет?
Андрей Светлов
socket.accept()
Accept a connection. The socket must be bound to an address and listening for connections. The return value is a pair (conn, address) where conn is a new socket object usable to send and receive data on the connection, and address is the address bound to the socket on the other end of the connection.

Перечитывать до просветления: «conn is a new socket object usable to send and receive data on the connection».
Gremlyaka
Да да понял уже….Спасибо!))
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB