'Programming/Perl'에 해당되는 글 2건

  1. 2009/03/01 [PERL] perl 데몬화 하기 (perl daemonize) (1)
  2. 2008/06/08 [pbot] - NateOnBot (10)

[PERL] perl 데몬화 하기 (perl daemonize)

Programming/Perl 2009/03/01 22:52 posted by 알라신께충성
TAG PERL

Trackbas address :: http://vozlt.org/trackback/28 관련글 쓰기

  1. Commented by h0ney at 2009/03/12 17:02

    오웃!! 제가 원했던 자료!!

[pbot] - NateOnBot

Programming/Perl 2008/06/08 17:30 posted by 알라신께충성

Download : [nateonpbot-1.0.2.tar.bz2]

패키지 릴리즈 & 노트 파일명 날짜
크기 내려받기 아키텍처 형식

pbot 이 패키지를 모니터링하기

 
  nateonpbot   2008-06-03 02:43
nateonpbot-1.0.0.tar.bz2
11 KB 0 Any Source .bz2
nateonpbot-1.0.1.tar.bz2
11 KB 0 Any Source .bz2


# Perl 로 간단히 구현해본 NateOn Bot 입니다.^^


[http://kldp.net/projects/pbot/]
[http://kldp.net/plugins/scmcvs/cvsweb.php/?cvsroot=pbot]
[http://pbot.kldp.net]

NateOnPbot By YoungJoo-Kim <bando@bando.org>

 NateOn clients

   http://nateon.kldp.net
   http://nateon.haz3.com


 Packet dump tools

   [tcpdump]
          tcpdump -s 1024 -X port 5004 and tcp
   [ngrep]
          ngrep port 5004 and tcp
   [Wireshark]
          tcp.port == 5004


 * 실행 환경

   Perl 5.8.8 ~
   Windows / Linux / ...


 
 * 실행

   perl Nateon
   perl Nateon [ID] [PASSWORD]


사용자 삽입 이미지

NateOn Login



 
사용자 삽입 이미지

NateOn Login Flow View



 * 기본 기능

   * 파일은 그냥 올리면 files 디렉토리 밑에 파일들이 업로드 된다.
   * Windows / Linux 에서 테스트 했다.
   * 사전/번역기는 cdic(
http://cdic.kldp.net) 을 설치 해야 하며 Windows 환경에서는 사용 불가하다.



사용자 삽입 이미지

도와줘


   1. 파일 송수신/삭제

     1.1 올린거
         업로드한 파일 리스트를 보여준다.



사용자 삽입 이미지

올린거



     1.2 내놔 [파일명]
         업로드한 파일 리스트를 다운로드 한다.

     1.3 삭제 [파일명]
         업로드한 파일 리스트를 삭제한다.



사용자 삽입 이미지

내놔/삭제

  2. 등록된 사용자에게 쪽지 발송 기능

     쪽지 addnick@nate.com 누구냐?


 

사용자 삽입 이미지

쪽지



   3. 별명 변경

     별명 [별명]

   4. 영한 한영 사전/번역기(http://cdic.kldp.net)

     korea
     한국
     I hate you.

사용자 삽입 이미지

사전/번역기




 * 수정시 참고 사항

   Event 제어 메소드:
     messengerEvent()
   Message 제어 메소드:
     messengerMesg()

* CVS [http://kldp.net/plugins/scmcvs/cvsweb.php/?cvsroot=pbot]

# 이 프로젝트의 CVS 저장소는 다음과 같은 방법을 통해 익명(pserver)으로 체크아웃하실 수 있습니다.
# modulename에 체크아웃하고자 하는 모듈 이름을 정확히 명시하셔야 합니다.
# anonymous에 대해서 비밀번호를 입력하는 부분이 나오면 그냥 엔터키를 누르시면 됩니다.

[root@bando ~]# cvs -d :pserver:anonymous@kldp.net:/cvsroot/pbot login
Logging in to :pserver:anonymous@kldp.net:2401/cvsroot/pbot
CVS password: [Enter]

[root@bando ~]# cvs -d :pserver:anonymous@kldp.net:/cvsroot/pbot checkout pbot


 * 주절주절

   심심해서 2틀간 만들고 4일간 돌려봤더니 안죽고 잘 돌았습니다...
   앞뒤 생각 안하고 일단 돌아가게만 만들었습니다...
   전 잘 돌아갔지만 분명히 잘 안돌아가는 환경이 있을 것이라 예상됩니다...
   그냥 심심풀이로 몇번 가지고 놀다가 버려주시면 감사하겠습니다...

Trackbas address :: http://vozlt.org/trackback/15 관련글 쓰기

  1. Tracked from jeen's me2DAY at 2008/06/07 15:00  삭제

    Subject: JEEN의 생각

    알라신께 충성님께서 만든 Perl Nateon 모듈을 보고 감탄을 금치 못하겠다. C인지 Perl 인지..;; 하악... 아무튼 최고~!!...

  1. Commented by tetris at 2008/06/07 10:35

    멋져~ 역시 영주씨는 SE 그만두고 개발자로 전향해야 한다니깐...

  2. Commented by JEEN at 2008/06/07 14:36

    우왕.. 멋지네요. 짝짝짝! :-)
    Perl 을 좋아하시면 , IRC #perl-kr @ freenode 로 한번 걸음해 주셨으면 합니다.
    별다른 IRC 클라이언트 없으시다면
    http://doc.perl.kr/twiki/bin/view/Wiki/WebIRC
    웹 IRC도 준비해놨습니다.
    많은 이야기를 나눌 수 있었으면 좋겠습니다.

    • Commented by 알라신께충성 at 2008/06/07 16:31

      ㅎㅎㅎ 어설픈 코드에 박수까지 쳐주시다뉘.... 감사합니다...
      Perl 잘은 못하지만 많이 조아해요!^^
      IRC 에 꼭 들르도록 하겠습니다!

  3. Commented by ㅋㅋㅋ at 2009/03/22 19:25

    저기 이자료가 올라온지 꾀오래되서그런건진 모르겠지만
    perl Nateon 하면 오류뜨네요.
    Bad switch statement (problem in the code block?) near Nateon line 569
    라는오류가뜨네요
    왜이러죠?!

  4. Commented by ㅋㅋㅋ at 2009/03/22 20:53

    아 저거 이제고쳤는데요
    Your vendor has not defined Fcntl macro F_GETFL, used at Nateon line 210.
    이번엔 이게뜨네요.
    제가귀찬게하는거같은데.. 해결방법좀요.

    • Commented by 알라신께충성 at 2009/03/22 22:41

      해당 부분을 그냥 주석처리하고 해보세요! 별 상관 없을듯 해당 플랫폼이 윈도우인가보죠?

      sub socketNonblock {
      # 0 = Nonblocking
      # 1 = blocking
      my $self = shift if ref ($_[0]);
      my $block = ($_[0]) ? $_[0] : 0;
      my $flag = undef;

      #$flag = fcntl($self->{sock}, F_GETFL, 0) or die "Can't get flags for the socket: $!\n";

      #if (!$block) {
      # $flag = fcntl($self->{sock}, F_SETFL, $flag | O_NONBLOCK) or die "Can't set flags for the socket: $!\n";
      #} else {
      # C fcntl() 처럼 했는데 맞나 몰라??
      # $flag = fcntl($self->{sock}, F_SETFL, $flag & ~O_NONBLOCK) or die "Can't set flags for the socket: $!\n";
      #}
      }

      아예 저렇게 모두 주석 처리를 해버리세요! 별 상관 없을꺼에요!
      그리고 최신은 CVS에서 받으세요! 가끔 메일이나 그런거 오면 수정해 놓기도 하거든요~ ^^

  5. Commented by ㅋㅋㅋ at 2009/03/23 23:56

    좋은답변 감사합니다^^

  6. Commented by rer44 at 2009/03/30 13:43

    재미있는 걸 하셨군요 ;)