1
conn.send()
행이있는 경우 인쇄가 3 번 인쇄 된 후 연결이 중단되는 이유는 무엇입니까? 해당 행을 주석 처리하면 연결이 계속 열려 있습니다. 어떤 이유로 예외가 발생하지만, 이유와 필자는 파이썬에 익숙하지 않습니다.소켓을 통해 메시지를 보낼 때 소켓이 닫히는 이유는 무엇입니까?
server.py :
import random
import signal
import socket
import struct
import sys
import time
PORT = 1234
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.bind(('', PORT))
s.listen(1)
print("Server started on port %u" % PORT)
try:
while True:
(conn, addr) = s.accept()
conn.setblocking(0)
print("Client connected: %s:%d" % addr)
while True:
print "hey"
conn.send("random")
time.sleep(1)
except:
s.close()
print "exception"
client.py :
import socket # Import socket module
s = socket.socket() # Create a socket object
host = socket.gethostname() # Get local machine name
port = 1234 # Reserve a port for your service.
s.connect((host, port))
print s.recv(1024)
s.close
'client.py'의 마지막 줄에 괄호가 없습니다. 실제로 실행중인 코드에 있는지 여부에 관계없이 결과에 영향을 줄 수 있습니다. – ErlVolton
@ErlVolton은 불행하게도 아무 것도 바뀌지 않았습니다. –
여전히''hey "'를 3 번 인쇄합니까? – ErlVolton