2014-07-16 2 views
0

클라이언트와 서버간에 데이터 (객체)를 전송해야하며 Twisted가이를 수행하는 좋은 방법 인 것 같습니다. 나는 많은 검색을 해왔지만 여전히 기본 원칙을 이해하는 예를 발견하지 못했습니다. 그래서 간단한 코드만으로 도움이 될 것입니다.twisted - json을 사용하여 데이터 전송

감사합니다.

편집

  • 모두 클라이언트와 서버는 파이썬
  • 데이터는 클 수로 작성, 그래서 나는 것이 좋다, 내가 producers에서 살펴 보았다 (빠르고 안정적인 전송을 필요로하는?)
  • 플라스크는 훌륭하지만 또 다른 프레임 워크를 사용하고 있기 때문에 네트워킹 전체가 Twisted에 의존합니다.
+0

"빠른"전송을 비교? 느린 전송은 언제 필요합니까? "신뢰성있는"무엇에 비해? TCP의 "주문 된"의미에서 "신뢰할 수있는"것을 의미합니까? – Glyph

+0

내가 비교할 필요가있는 것을 말하기는 어렵지만, "빠름"이라고 말하면 대기 시간을 수용 할 수 있습니다 (CPU가 효율적이어야하고 오버 헤드가 많지 않음). 그리고 예, "신뢰할 수있는"은 TCP를 의미합니다 (예상 패킷 손실 없음) – TomNg

+0

누구에게 허용됩니까? 무슨 목적을 위해? 산업용 기계 제어? 이 경우 Python이 적합하지 않으며 하드 실시간 언어가 필요하며 JSON은 고정 사이클 수로 디코딩 할 수 없으므로 좋은 선택이 아닙니다. 나는 어려워 지려는 것이 아닙니다. 요점은 당신이 성취하고자하는 것에 대해 더 많은 설명 없이는 이러한 한정어가 의미가없는 것보다 더 나쁘다는 것입니다. 확실히 느린 것을 위해서 천천히하는 해결책을 제안하는 사람은 아무도 없습니다. – Glyph

답변

1

귀하의 질문이 json, python 또는 twisted에 관한 것이면 쉽게 알 수 없지만 여기에 개요가 나와 있습니다. 자세한 내용은 일단 알려 주시면 더 자세히 알려 드리겠습니다. 아마도 우리는 더 많은 도움을 드릴 수 있도록 귀하의 질문에 더 많은 정보를 추가 할 수 있습니다 :-)

re Json : Json은 정의 된 구조의 문자열입니다. 당신이 파이썬에서 작업하고 JSON으로 보낼 수있는 대상이있는 경우 클라이언트는 자바 스크립트를 사용할 수 json.dumps 대신 다음의 경우에, 당신은

import json 
json.dumps(objectName) 

를 사용하여 JSON 문자열로 개체를 변환 할 필요가 JSON.stringify (objectname).

클라이언트 용 자바 스크립트를 사용하려는 경우 jQuery와 같은 일부 프레임 워크는 매우 쉽습니다.

Python의 json.dumps에는 많은 옵션 인수가 있으며 대부분은 필요하지 않습니다. 당신은 옵션을 볼 수 있습니다 https://docs.python.org/2/library/json.html

파이썬은 파이썬입니다, 나는 당신이 어떻게 생성하고 개체를 채우는 지 알고 있다고 가정합니다. 귀하의 클라이언트는 파이썬이나 자바 스크립트 또는 다른 것입니까? 자바 스크립트 클라이언트에서 파이썬 서버에 이르기까지 대부분 Ajax를 사용하여 요청을 보내고 응답을 얻습니다.

Twisted를 사용하면 특정 포트에서 수신 대기하는 서버를 쉽게 만들 수 있으며 데이터가 도착하면 수신 된 데이터를 제공하는 이벤트가 발생합니다. 그러면 데이터로 필요한 모든 작업을 수행 할 수 있습니다. 서버가 일부 데이터를 놓치거나 이벤트 루프를 중단하면 오작동 할 수 있기 때문에 데이터베이스 삽입과 같은 것들을 차단하는 것에주의하십시오. Twisted는 처음에는 배우기가 어려울 수 있지만 입증 된 매우 강력하고 신뢰할 수있는 시스템입니다. 특히 클라이언트가 파이썬이 아닌 경우 고려해야 할 한 가지 방법은 node.js입니다. 제 생각에는 노드는 처음에는 파악하기가 쉽고, 원하는 거의 모든 것을 할 수있게 해주는 수천 개의 애드온 모듈이 있습니다. 나는 서로 다른 것들을 위해 꼬인과 노드를 사용한다.

node.js도 비틀어지지 않은 것도 연구와 실험없이 서버 또는 클라이언트를 빠르게 시작하는 데 사용할 수있는 소프트웨어가 아닙니다. Twisted 또는 Node.js 을 올바르게 사용하려면 자신의 모든 기능과 장점을 사용하여 약간의 연구와 작업이 필요합니다.

Flask과 같은 훌륭한 프레임 워크가있어 클라이언트의 여러 Ajax 호출에 반응 할 수있는 서버를 구축하는 데 사용할 수 있습니다. 하나의 서버가 여러 가지 다른 종류의 요청에 응답 할 수 있습니다. Ajax 유형별로 서버를 보유하고 있습니다.

+2

'twistd -n web'은 Twisted로 서버를 돌리는 아주 빠른 방법입니다. :) –

+0

좋은 점 JP! 나는 문제의 의견을 철회한다. – RoyHB

관련 문제