서버에서 수신 한 데이터를 구분하는 방법을 모르겠습니다.Python Python 소켓 모듈에서 데이터를 구별하는 방법 (서버 수신시)
데이터를 보내거나 데이터를받을 때 MessageID (예제 이름)를 설정하여 데이터를 구별하고 싶습니다. 여기
는 예 :서버
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host=''
port=int(input(Please Enter the port:))
s.bind((host,port))
s.listen(1)
conn, addr = s.accept()
print('Someone connected.He :%s'%addr)
while True:
data=conn.recv(1024,MessageID) # I want to make this.
print(data)
클라이언트
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host=''
port=int(input(Please Enter the port:))
s.connect((host,port))
data='hello world'
data=data.encode('utf-8') # I encoded data because Python 3.3.3's socket module doesn't
work with string(str) when I send data.
s.send(data,MessageID) # This is what I want.I want to set messageID which can distinguish data.
방법과 같이 만들 수있어?
다른 프로그래머가 파이썬에서 데이터를 구별하는 방법 ..?
내가 원하는 것은 : 어떤 메시지를 원하지 않는 경우 수신하지 마십시오.
1. 수신 -> RECV을 2.'conn.recv (1024)'는 1024 바이트 (부분 메시지)보다 작을 수 있습니다. 전체 메시지를 읽으려면 루프가 필요합니다. 3. 만약'if not data' : [ "recv가 0 바이트를 반환하면 상대방이 커넥션을 닫았거나 닫는 중임을 의미합니다. 더 이상이 커넥션에 대한 데이터를받지 못합니다. 당신은 데이터를 성공적으로 보낼 수 있습니다. "] (http://docs.python.org/dev/howto/sockets.html) – jfs
정말로 원합니다 : 어떤 서버가 원하는 messageID가 아닌지 수신하지 마십시오. – user3312583
@ user3312583 유일한 선택은 messageid가 일치하지 않으면 서버가 보낸 데이터를 버리는 것입니다. 데이터를 받기 전에 어떤 데이터인지 알 수 없습니다. – msvalkon