얘들 아 난 내가파이썬 - 소켓 통신, 여러 메시지
나는이 소켓 통신에 붙어있어, 내가 찾아 봤는데하지만 난 아직 답을 못 찾았 다시 당신의 도움이 :(필요가 있다고 생각
.인한 문제 :. 나는 단지 그것을하기 전에 클라이언트에서 한 메시지를 전송하거나 스크립트를 나에게 오류를 제공하거나 종료 할 수 나는 서버에 여러 메시지를 보낼 수 있어야합니다
표시되는 서버 측 (. 아래 참조) : 괜찮습니다.
# Echo server program
import socket
import time
import os
#-----------------------------------------------------------------------------------------------------------------------
today = time.strftime('%Y.%m.%d')
logFileName = "log - " + today + ".txt"
HOST = '10.0.0.16'
PORT = 8080 # Reserve a port for your service
BUFFER_SIZE = 1024
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # Create a socket object
s.bind((HOST, PORT)) # Bind to the port
def print_write(text):
log.write(time.strftime("%H:%M:%S") + " | " + text)
log.write("\n")
print text
#-----------------------------------------------------------------------------------------------------------------------
if os.path.isfile(logFileName) is True:
log = open(logFileName, 'a+')
print_write("[SERVER] Log for " + today + " already exists.")
print_write("[SERVER] Starting comms")
else:
print "[SERVER] Log doesn't exist"
log = open(logFileName, 'a+') # Create file -> log - %date%.txt
print_write("[SERVER] Log created")
while True:
s.listen(1)
conn, addr = s.accept()
data = conn.recv(BUFFER_SIZE)
if data == "Comms Shutdown":
print_write("------ REMOTE SHUTDOWN ------")
conn.close()
raise SystemExit
else:
print_write("[COMMS] " + str(addr) + " says: " + data)
log.close()
죄송합니다. 매우 혼란스럽고 혼란 스럽지만이 프로젝트를 마칠 시간이별로 없습니다. 질문이 있으면 꼭 물어보십시오. 그것은 당신에게 내가 필요의 아이디어를주고 그냥, 나는 그것이 작동하지 않습니다 알고
import socket
HOST = '10.0.0.16' # The remote host
PORT = 8080 # The same port as used by the server
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
while True:
msg = raw_input()
s.sendall(msg)
print msg
: 클라이언트 측에 대한
은 내가 당신이주지, 여기 많이 가지고 있지만하지 않습니다 .미리 감사드립니다.
서버 코드는 한 번만 recv를 호출하기 전에 recv를 반복하기 전에 새로운 연결을 열기 전에'recv'를 여러 번 호출하는 while 루프 또는 이와 유사한 것을 사용해야합니다. – noteness