2010-03-28 7 views
3

이 전체 주제는 필자의 부정확 한 질문을 용인하기위한 것이므로, 두 컴퓨터가 모두 하나의 LAN에 연결되어 있습니다.파이썬 컴퓨터 간 통신

원하는 것은 문자열이 시작될 첫 번째 (호스트)에서 파이썬 스크립트를 실행하고 문자열을 검색하기 위해 클라이언트 컴퓨터에서 두 번째로 파이썬 스크립트를 실행하여 두 문자열간에 하나의 문자열을 전달할 수있게하려는 것입니다.

경험이 부족한 프로그래머가 이것을 달성하는 가장 효율적인 방법은 무엇입니까?

+3

당신이하고자하는 일에 달려 있습니다. "의사 소통"은 크고 막연하고 손을 흔드는 개념입니다. 어떤 종류의 대화를하려고하십니까? 대부분의 사람들이 필요로하는 대부분의 의사 소통은 이미 발명 된 것입니다. 인터 네트워킹 (Internetworking)이라고 불리우며 컴퓨터는이를 위해 많은 응용 프로그램으로 포장됩니다. 뭐하고 싶어? –

답변

3

약 백만 가지 방법이 있습니다. 이 때문에

내가 그 일을한다면, 나는의 SocketServer 라이브러리를 사용하는 거라고하지 너무 꽤 잘 문서화, 미친, 그리고 가장 중요한 것은, 내가 전에 사용했습니다.

여기에 몇 가지 예 있습니다 http://docs.python.org/library/socketserver.html#examples

+0

'SocketServer'의 연결 당 하나의 쓰레드 모델은 확장 성이 좋지 않습니다. 네트워크 응용 프로그램 작성을 위해 Twisted를 선호합니다. –

+0

@Mike : True, Twisted는 SocketServer보다 훨씬 잘 확장됩니다. 하지만 구현의 단순성이이 특정 질문에 대한 확장 성보다 우수하다고 생각합니다.) –

4

첫째, 명명법 직선을 얻을 수 있습니다. 일반적으로 통신을 시작하는 부분은 클라이언트이고, 연결을 기다리는 부분은 서버입니다. 그런 다음 클라이언트에서 데이터를 수신하고 응답을 생성합니다. 질문에서 "호스트"는 클라이언트이고 "클라이언트"는 서버 인 것 같습니다.

그런 다음 데이터를 전송하는 방법을 결정해야합니다. 직접 소켓을 사용할 수 있습니다.이 경우 SocketServer을 사용하거나 HTTP 또는 XML-RPC와 같은 기존 프로토콜을 사용할 수 있습니다.이 경우 많은 예제가있는 라이브러리 패키지를 사용할 수 있습니다 (예 : xmlrpclibSimpleXMLRPCServer).)

-2

분당 파일 공유 및 폴링 파일 시스템. 농담 마. 물론 응용 프로그램의 요구 사항이 무엇인지, 지연이 허용되는지 여부에 따라 다르지만 실제로는 파일 공유를 사용하는 것이 일반적입니다.

+0

문제는 TCP/UDP 사용을 비명 지르고, 왜 파일 공유 및 폴링 파일 시스템을 사용합니까? – anijhaw

+0

@anijhaw, OP는 너무 많은 요구 사항을 명시하지 않았으므로 파일을 공유 폴더로 보내는 일부 애플리케이션이면 충분합니다. 그리고 '경험이 부족한 프로그래머'조항을 잊지 마십시오. – Yaroslav

+0

하하하 그래, 내가 처음 "네트워크"응용 프로그램을 구현 한 방법이다. +1 좋은 추억을 위해. –