2016-11-17 5 views
0

소켓에서 데이터를 수신하는 iOS 앱을 만들고 있습니다. 나는 소켓에 관해서 상당히 새로운 것들이다.iOS - 네임 스페이스가있는 flask-socketIO를 사용하여 플라스크 서버에 연결하는 방법

플라스크 프레임 워크를 사용하여 서버를 구축합니다. 긴 설문 조사를 시행하려면 flask-socketIO 패키지가 있어야합니다. 그러나 유용한 자습서를 찾지 못했습니다.

CocoaAsyncSocket을 conncet에 사용하여 서버에 데이터를 보내면 순진한 python 소켓을 테스트 할 때 제대로 작동합니다. 코드 :

from socket import * 
from time import ctime 

serverClient = socket(AF_INET, SOCK_STREAM) 

HOST='127.0.0.1' 
PORT=8808 
BUFSIZ=1024 
ADDR=(HOST, PORT) 

serverClient.bind(ADDR) 
serverClient.listen(5) 

while True: 
    print('waiting for input') 
    clientSocket, addr = serverClient.accept() 
    print('connect from ', addr) 
    while True: 
     try: 
      data= clientSocket.recv(BUFSIZ) 
     except: 
      print(e) 
      clientSocket.close() 
      break 
     if not data: 
      break 
     s='Hi,you send me :[%s] %s' %(ctime(), data.decode('utf8')) 
     clientSocket.send(s.encode('utf8')) 
     print([ctime()], ':', data.decode('utf8')) 

clientSocket.close() 
serverClient.close() 

그러나 내 플라스크 서버와 함께 사용하는 방법을 모르겠습니다. 이것은 또한 내가 시도 flask-socketIO입니다. document의 지시 아래

, 내 views.py

@socketio.on('connect', namespace='/test') 
def test_connect(): 
    emit('my response', {'data': 'Connected'}) 

를 구현합니다.

namespace을 지정하지 않고도 가능합니까? 그러나 네임 스페이스를 지정하지 않으면 기본값 인 '/'이 내 홈 디렉토리와 충돌합니까?

답변

0

Socket.IO는 일반 네트워킹 라이브러리가 아닌 특수 프로토콜입니다. 서버에서 Socket.IO를 사용하려면 다음과 같이 iOS 장치에서 Socket.IO 클라이언트 (예 : https://github.com/socketio/socket.io-client-swift)를 사용해야합니다.