문제

시작하려고합니다 진흙 클라이언트 Telnet 서버에서 호스팅 된 진흙에 연결되는 응용 프로그램. 나에게 중요한 유일한 것은 그것이 모든 OS에서 고통스럽고 효율적으로 실행된다는 것입니다. 그 요구 사항 외에도 나는 실제로 어떤 언어로도 팔리지 않습니다.

그래서 저는 응용 프로그램을 기반으로 할 수있는 자유롭게 사용할 수있는 Telnet 클라이언트 라이브러리를 찾고 있으므로 프로토콜의 세부 사항을 너무 많이 처리 할 필요가 없습니다.

도움이 되었습니까?

해결책

나는 항상 고려할 것입니다 꼬인 이런 종류의 일 (파이썬).

아름다움은 나중에 SSH 또는 Telnet보다 더 안전한 것으로 바꾸기로 결정하면 통증이 거의 없다는 것입니다.

다른 팁

뒤틀리고 꼬인, 꼬인!

Telnet을 사용하려면 패키지를 참조하십시오 twisted.conch.telnet. 스파르탄이 있습니다 API 문서, 그러나 그것을 사용하는 것에 대한 실제 정보는 Google 코드 검색에서 검색, 와 같은 이 너겟 ~에서 그레일 무드 - 진흙 서버.

모든 진흙 프로그래밍을 위해 RFC를 사용하여 처음부터 나만의 루틴을 만들었습니다.

당신이 나의 고통을 피하고 싶다면, 나는 그것을 Telnet을 올바르게 처리하는 상당히 간단한 C# 클래스로 싸여있었습니다. 당신이 그것을 살펴보고 싶다면, 당신은 그것을 볼 수 있습니다 여기.

이 코드는 소수의 별도 프로젝트에서 Windows와 Linux (모노를 통해)에서 실행되었으며 꽤 잘 작동합니다.

텔넷 인터페이스가 있습니다 CPAN Perl을 좋아한다면. 꽤 미미하지만 작업을 완료해야합니다.

편집하다libcurl 또한 텔넷을 할 수 있어야하지만 예를 찾을 수는 없습니다.

PMC (PMC) http://sourceforge.net/projects/perlmudclient/ )는 정확히 이것을하려는 시도였습니다. 나는 지난주에 그것을 겪었습니다. Net :: Telnet의 이전 수정 된 버전을 사용하여 연결 작업을 수행합니다.

내 문제는 Net :: Telnet이 서버에 의해 부분 줄을 전송 할 때 차단 인터페이스를 가지고 있다는 것입니다. 즉, 새로운 라인에 의해 종료되지 않은 줄입니다. 거의 모든 것이이 기능 (대기 및 프롬프트 메커니즘)을 지원하는 두 가지 기능이 있습니다. 텔넷 서버에는 신축이 종료되지 않은 프롬프트가 있습니다.

진흙은 종종 비표준이 아니며 게임 과정을 통해 다른 "프롬프트"를 가지고 있습니다. Mud I Admin은 "귀하의 선택 :"로그인으로서의 프롬프트 (사용자 이름만을위한 것이 아니라)를 가지고 있으며, 많은 게임 기능이 대체 프롬프트를 제시합니다. 그래서 나는 당신이 크로스 플랫폼 텔넷 라이브러리를 찾을 때 이것을 염두에 두어야한다고 생각합니다!

당신이 C를 좋아한다면, 나는 진심으로 추천합니다 libtelnet. 그것은 모든 일을하는 내부 상태를 유지할 것입니다 IAC 당신을위한 시퀀스 구문 분석 및 Q 메소드.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top