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~^