파이썬 tpc 소켓통신 여러개의 데이터를 보내는 법?

조회수 1376회

안녕하세요

파이썬에서,

a = b'13567'
b = b'24634'
c = b'18645'

이라는 값이 있을 때, 서버에게 해당 3개의 값을 한번에 보내고 싶습니다.

그래서 제가 한 것은,

clientSocket = socket(AF_INET, SOCK_STREAM)
clientSocket.connect((serverName,serverPort))

clientSocket.send(a)
clientSocket.send(b)
clientSocket.send(c)

이런식으로 보냈는데, 서버쪽에서 b 와 c가 한번에 받아집니다. ( b'2463418645' 이런식으로요) 서버쪽에는, recv 3개가 선언이 되 있구요,

이런식으로 사용하는게 틀린 것 같은데 다른분들은 어떻게 사용하나요?

  • 당연히 붙어서 갑니다. 프로토콜을 만들어서 보내야죠. 정영훈 2019.10.11 19:41
  • @정영훈 감사합니다. tcp 통신에서 하나의 소켓상에서 여러 번 데이터를 주고 받을 수 있나요?? 즉.... tcp는 클라이언트에서 send가 일어나면, recv 받을 때까지 멈춰있다거나 그런 식으로 순차적으로 코드가 실행되나요? ohsangyun 2019.10.12 11:07
  • 먼저 소켓프로그래밍에 대한 서적으로 기본 학습을 하셨으면 합니다. 소켓통신은 크게 두가지 방법이 있습니다. 블럭/넌블럭이 그것입니다. 파이썬은 기본적으로 블러킹 모드로 동작하므로 recv는 멈춰있습니다. 그러므로 쓰레드를 고려하게 됩니다. 정영훈 2019.10.13 06:21

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)