파이썬으로 짠 웹소켓 클라이언트

from socket import *
import threading
import time

def send(sock):
    while True:
        sendData = input('>>>')
        sock.send(sendData.encode('utf-8'))

def receive(sock):
    while True:
        recvData = sock.recv(1024)
        print('상대방 :', recvData.decode('utf-8'))

port = 8080

clientSock = socket(AF_INET, SOCK_STREAM)
clientSock.connect(('127.0.0.1', port))

print('접속 완료')

sender = threading.Thread(target=send, args=(clientSock,))
receiver = threading.Thread(target=receive, args=(clientSock,))

sender.start()
receiver.start()

while True:
    time.sleep(1)
    pass

보니까 까먹고 github에 안올려놔서... 참고했던 블로그에서 긁어왔습니다ㅋㅋ;

넵넵 한번 돌려볼께요 ㅋㅋ

네ㅎㅎ

@ChanJeong Park

찬정님 지금 돌려보고 있는데 파이썬과 백엔드하고 통신하기 위해서는 socket이 아니라 websocket 라이브러리를 사용해야 한다고 하네요~

import asyncio
import websockets
 
async def connect():
  async with websockets.connect("ws://localhost:8080/api/iot") as websocket:

    for i in range(1,10,1):
      await websocket.send("hello socket!!");
      data = await websocket.recv();
      print(data);

asyncio.get_event_loop().run_until_complete(connect())

헉 그렇군요ㅋㅋㅋ 이거로 배워보겠습니다

@ChanJeong Park 아 그리고 지금 응답 보내시면 받을수 있는 서버 열까 하는데 테스트 한번 가능하신가요?

네 해볼게요!

@ChanJeong Park 우선 소켓 통신할 엔드포인드는 api/iot로 정했습니다!

import asyncio
import websockets
 
async def connect():
  async with websockets.connect("ws://osam-api.herokuapp.com/api/iot") as websocket:

    for i in range(1,10,1):
      await websocket.send("hello socket!!");
      data = await websocket.recv();
      print(data);

asyncio.get_event_loop().run_until_complete(connect())

한번 접속해볼게요 ㅎㅎ

아마 아래처럼 응답이 오면 성공입니다!

Welcome IoT sever~^^
Welcome IoT sever~^^
Welcome IoT sever~^^
Welcome IoT sever~^^
Welcome IoT sever~^^
Welcome IoT sever~^^
Welcome IoT sever~^^
Welcome IoT sever~^^
Welcome IoT sever~^