ווטסאפ - לינוקס, BSD, קוד פתוח ותוכנה חופשית בעברית. Whatsup - Linux, BSD, open source and free software in Hebrew

 
 
  כניסת חברים · רישום · שכחתי סיסמה  
tux the penguin
תגובה לנושא
צפיה בנושא הבא Printable version התחבר כדי לבדוק הודעות פרטיות צפיה בנושא הקודם
omriלא בפורום כעת ת.הצטרפות: 24/11/2003 · הודעות: 1148 ·
 

הודעה פורסם: 19/04/2004 - 16:14
נושא ההודעה: הצצה לפרוייקט שאני מפתח כרגע ב C++ (קליינט IRC)

אני עובד כרגע על IRC CLASS ב C++, משהו חביב ביותר
בגלל שאני (ועוד הרבה כמוני) חושבים שאין CLIENT נורמלי ללינוקס, אז החלטתי להתחיל לעבוד על אחד
קודם כל אני עובד על הקלאס של הקליינט, אני מסדר EVENTS ופונקציות לעבודה נוחה, משתנים שיכילו כל מיני מידע על השרת, הערוצים שהמשתמש נמצא בהם, האנשים שאיתו באותם ערוצים, רשימת כתובות (ADDRESS LIST), וכ'ו.

הנה ה HEADER FILE של הקלאס, להתרשמות:

קוד:

/***************************************************************************
 *   Copyright (C) 2004 by omri                                            *
 *   omri@omri                                                             *
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 *   This program is distributed in the hope that it will be useful,       *
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
 *   GNU General Public License for more details.                          *
 *                                                                         *
 *   You should have received a copy of the GNU General Public License     *
 *   along with this program; if not, write to the                         *
 *   Free Software Foundation, Inc.,                                       *
 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
 ***************************************************************************/

#include "_sock.h"

class _irc : public _sock {
   private:
      char *mynick;
   public:
      _irc();
      ~_irc();
      struct _address {
         char *nick;
         char *ident;
         char *host;
      };
      int parse_address(_address *&ret, const char *address);
      int open(const char *server, const unsigned int port, const char *nickname, const char *username, const char *fullname, const char *password = ""); //returns 1 upon successful, 0 otherwise.
      //basic commands
      void msg(const char *target, const char *message);
      void notice(const char *target, const char *message);
      void action(const char *target, const char *message);
      void ctcp(const char *target, const char *command, const char *parameters = "");
      void ctcpreply(const char *target, const char *command, const char *reply = "");
      void join(const char *channel, const char *key = "");
      void part(const char *channel, const char *reason = "");
      void mode(const char *target, const char *modes);
      void topic(const char *channel, const char *message = "");
      void kick(const char *channel, const char *nick, const char *reason = "");
      void nick(const char *nick);
      void quote(const char *data);
      void raw(const char *data);
   public:
      //socket override events
      virtual void on_connect(void);
      virtual void on_read(const char *buffer, const int length);
      virtual void on_error(const int number, const char *msg);
      virtual void on_disconnect(void);
   public:
      //irc class events
      void event_on_raw(const int numeric, const char *target, const char *data);
      void event_on_connect();
      void event_on_join(const char *fulladdress, const char *target);
      void event_on_part(const char *fulladdress, const char *target, const char *reason = "");
      void event_on_text(const char *fulladdress, const char *target, const char *message);
      void event_on_notice(const char *fulladdress, const char *target, const char *message);
      void event_on_nick(const char *fulladdress, const char *newnick);
      void event_on_invite(const char *fulladdress, const char *target, const char *channel);
      void event_on_usermode(const char *modes);
      void event_on_mode(const char *fulladdress, const char *target, const char *modes);
      void event_on_ctcpreply(const char *fulladdress, const char *target, const char *command, const char *reply = "");
      void event_on_ctcp(const char *fulladdress, const char *target, const char *command, const char *parameters);
      void event_on_action(const char *fulladdress, const char *target, const char *message);
};


כל הדברים האלה כבר עובדים, בעיקרון נשאר להוסיף עוד כמה EVENTS (אני צריך לברר מה שכחתי), לסדר את המשתנים של המידע שהזכרתי למעלה, ולהוסיף תמיכה בשפות סקריפט כמו PERL, RUBY, TCL וכ'ו.

תגובות\הצעות\<כל דבר אחר> יתקבלו בברכה.

אם יש מישהו שרוצה להשתתף, מוזמן לכתוב פה Smile

_________________
Sure linux is user-friendly, it's just picky about who its friends are Smile
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית ביקור באתר המפרסם  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
shlomi-lלא בפורום כעת ת.הצטרפות: 04/05/2003 · הודעות: 1399 ·
 

הודעה פורסם: 19/04/2004 - 20:32
נושא ההודעה:

נראה נחמד , אבל זה לא נכון ש"אין לקוח נורמלי"
יש המון לקוחות נורמלים ל IRC. ויש גם ספריות פיתוח עם פונקציות מוכנות ומדובגות ל IRC.
אני לא רואה שום סיבה לפתח דבר כזה מאפס חוץ מההנאה הכרוכה בכך.

המלצה שלי : בטקסט irssi
בגרפי : konversation
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית ביקור באתר המפרסם MSN Messenger  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
APלא בפורום כעתSite Moderator ת.הצטרפות: 04/10/2002 · הודעות: 524 · מיקום: נתניה
 

הודעה פורסם: 19/04/2004 - 20:50
נושא ההודעה:

נורמלי = נוח לסקריפט, הרבה אפשרויות לעיצוב הממשק ותמיכה של 100% בעברית.
אין קליינט בלינוקס שראיתי שתומך בevent based scripts שזו הדרך הנוחה ביותר (ויסכימו איתי הרבה) לסקריפט, לפחות בקליינט IRC.
באקס צ'ט יש אפשרות כלשהי, אבל הסקריפט מסורבל ולא קריא.
לגבי אפשרויות עיצוב הממשק, אקס צ'ט שוב דיי מוביל פה, ותמיכה של 100% עברית יש בכל קליינט גרפי.
irssi קליינט מצויין, אבל לגרום לו לעבוד בעברית iso-8859-8\utf-8 זה סיפור לא פשוט במיוחד. אני הצלחתי, אבל סדר המילים נהפך.
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית ביקור באתר המפרסם מספר ICQ 
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 19/04/2004 - 21:27
נושא ההודעה:

אז תתקן את xchat . למה לך לכתוב מחדש הכל?

מה כל־כך מסובך בעבודה עם דפי הקוד השונים של עברית?

ומה בדיוק חסר לך בממשק של XChat ? למה לא פשוט להשתמש ב־server_hook ושות'? אם התחביר מפריע לך, תכתוב פונקציה קטנה שעוטפת אותו ומספקת ממשק אחר.
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
omriלא בפורום כעת ת.הצטרפות: 24/11/2003 · הודעות: 1148 ·
 

הודעה פורסם: 20/04/2004 - 01:23
נושא ההודעה:

פשוט אני מעדיף לכתוב משהו לבד
תסכים איתי שללמוד איך תוכנה שמישהו בנה עובדת זה סיפור, במיוחד שרוצים לשנות המון דברים.

_________________
Sure linux is user-friendly, it's just picky about who its friends are Smile
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית ביקור באתר המפרסם  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
JaneLameלא בפורום כעת ת.הצטרפות: 17/02/2004 · הודעות: 97 ·
 

הודעה פורסם: 20/04/2004 - 02:13
נושא ההודעה: ובכן

זה ודאי הרגע לציין ש- Chatzilla פשוט מעצבן לחלוטין. נוח כמו טיפול שיניים.
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית ביקור באתר המפרסם MSN Messenger מספר ICQ 
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
APלא בפורום כעתSite Moderator ת.הצטרפות: 04/10/2002 · הודעות: 524 · מיקום: נתניה
 

הודעה פורסם: 20/04/2004 - 06:03
נושא ההודעה: Re: ובכן

JaneLame :
זה ודאי הרגע לציין ש- Chatzilla פשוט מעצבן לחלוטין. נוח כמו טיפול שיניים.

LOL Laughing

לגבי הממשק של האקס צ'ט, לצערי אין לי ידע רציני בתכנות. ללמוד עכשיו להשתמש בספריות של GTK כדי להוסיף את הפיצ'רים שאני רוצה נשמע כמו גהנום. ניסינו לשלוח בקשות לפיצ'רים, אבל המפתח ענה באימיילים שליליים, כי לא הבין מה אנחנו רוצים.
לגבי ממשק הסקריפט, אקס צ'ט הוא פרוייקט שלא נבנה מראש לאפשר סקריפט מסוג זה. מי שיודע למה אני מתכוון רואה שהקליינט של עומרי מלכתחילה הולך לכיוון של event based script.
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית ביקור באתר המפרסם מספר ICQ 
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
הצגת הודעות מלפני:     
מעבר אל:  
כל הזמנים הם GMT + 2 שעות
תגובה לנושא
צפיה בנושא הבא Printable version התחבר כדי לבדוק הודעות פרטיות צפיה בנושא הקודם
PNphpBB2 © 2003-2004 

תוכן הדיון

  1. omri
  2. shlomi-l
  3. AP
  4. אורח
  5. omri
  6. JaneLame
  7. AP