עזרה בכתיבת PIPE לתוכנה Udpcast - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

עזרה בכתיבת PIPE לתוכנה Udpcast


aravmaxim

Recommended Posts

יש לי בעיה, אני רוצה להפיץ קבצים ממחשב מסוים למחשבים שנמצאים ברשת איתי ולכן בחרתי בתוכנה Udpcat שהיא קרוס-פלאטפורמית וניתן להוריד אותה ואת קוד המקור באתר הבא http://udpcast.linux.lu/. אך יש בעיה אחד מהפונקציונליות של התוכנה הכי חשובה היא להעביר Stream של קובץ בצורה מקובצת בעזרת הארגומנת pipe-- ותוכנה לקיבוץ כמו למשל gzip או tar. בהפצה בין מחשב וינדוס לוינדוס אין בעיות ובין לוינדוס אין בעיות, כמו כן מוינדוס ללינוקס אין בעיה. אך יש בעיה בהעברה מלינוקס לוינדוס. ולכן החלטתי לכתוב קוד ב C בשביל לעשות זאת בצורה קרוס פלאטפורמית. הטריק אם Udpcast עובד כך: תוכנת הפצה(udp-sender) לוקחת את ה STDIN של התוכנה ומפיצה אותו. התוכנה של הקבלה(udp-reciver) שופכת את כל המתקבל לתוך STDIN. הבעיה שנתקלתי בה היא שבוינדוס יש איזה בעיה בשלב כלשהוא שאני מתחיל לקבל רצף אין סופי של EOF לפני שגמרתי לקרוא את הכמות המתוכננת. בדקתי גם אופציה כזאתי שאם אני שופך את כל התכולה לקובץ ומנסה בוינדוס לקרוא אותו באופן כזה "program.exe < file" אני נתקל בEOF לפני שסיימתי לקרוא את הקובץ. כמו כן אני ייצין שבדקתי שבאמת בקובת לא מופיע FF ולא רצף של FF לא אחרי המקום בו הוא ניתקה ולא בשום מקום אחר בקובץ.השתמשתי גם בפקודה fread וגם ניסיתי אם getchar. נראה כאילו שהBUFFER של STDIN של ה RUN-C בוינדוס מוגבל. האם מישהוא נתקל בתופעה כזאת ומצא לה פתרון או משהוא בסגנון? אם כן אז בבקשה תעזרו לי.

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...