프로그래밍/python

tcp_python_communication with json

로밀리언 2021. 4. 28. 09:00
반응형

tcp_python_communication with json

 

안녕하세요 오늘은 python tcp통신을 사용해서 json형식의 data를 수신하는 방법에 대한 코드를 공유하려고 합니다.

 

Server에서 json형식의 데이터를 지속적으로 보내는 경우와  client가 해당 데이터를 받아오는 경우를 가정하였습니다.

 

import socket
import sys
import json

HOST, PORT = "127.0.0.1", 9999


json_object = {"name": "abcd", "vel": 10} # 먼저 딕셔러니를 선언한 뒤

json_string = json.dumps(json_object, indent=2) # json.dumps() 함수를 사용하여 json형식으로 바꾸어줍니다.
print(json_string) #출력해보면 json형식으로 변경된 것을 보실 수 있습니다.

# Create a socket (SOCK_STREAM means a TCP socket)
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.bind((HOST, PORT))
sock.listen()
client_socket, addr = sock.accept()


while True:

    client_socket.sendall(bytes(json_string,encoding="utf-8"))
    # print ("Sent:{}".format(data))

sock.close()
client_socket.close()
# tcpclient.py
# -*- coding: utf-8 -*-
import socket
import json

ip = "127.0.0.1"
port = 9999
clientSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
	
clientSocket.connect((ip,port))				

print("연결 확인됐습니다.")
while True:
    data = clientSocket.recv(1024)
    data=data.decode("utf-8")
    print(data)
         
clientSocket.close()						

 

 

반응형