נשלח בתאריך: 29 August 2005 בשעה 07:10 | | IP רשוּם
|
|
|
|
אני יצרתי תוכנית ציט של שרת לקוח
בשרת אני משמש באוביקט TcpListener כדי לקבל לקחות חדשים ואם יש תגובה אז הקשר נישמר במצעות TcpClient ונישמר במערך.
אצל הלקוח אני מישמש גם ב TcpClient ששולח בקשה להיתקשרות. וממשיך להחזיק את הקשר. וגם מאזין במצעות האוביקט הזה למידע שנשלח.
שאני מריץ גם את השרת וגם את הלקוח באותו מחשב התוכנית רצה יפה
אבל שאני מנסה להתחבר לשרת בימצעות האינטרנט ע"י הקלדת כתובת IP נירשמת הודעה אצל הלקוח שהשרת דחה את הבקשה(למרות שהורדתי את הFIREWALL במחשב השרת) אני מצרף את הקוד של הפנקצית יצירת קשר של הלקוח ואת קבלת שם לקוח בשרת.
קוד התקשרות לשרת
ublic string Con() { try { clentChat=new TcpClient(HostIP,4000); stream=clentChat.GetStream(); SendMsges(Name); //send the Nic to the server } catch(Exception e) { return e.Message; } return "Connect \n"; }
הקוד קבלת לקוח בשרת
public string NewGuset(TcpListener Server,ref ArrayList GuestList) { TcpClient newGust=null; string Name=""; try { newGust=Server.AcceptTcpClient(); //get Sokent from the cleint if(newGust!=null) { ClientConsion Gust=new ClientConsion(newGust); //class that save the clict //Socket while(Name=="") { Name=Gust.getDAta(); //get the Nic from the client if(Name!="") { Gust.ClentName=Name; GuestList.Add(Gust); //add the client list Borocast(Gust.ClentName+" enter ",GuestList); //sand the clent enter return Name; } } } } catch(Exception e) { return ""; } return ""; }
האם צריך לתת לאוביקט ההתקשרות הגדרות מיוחדות להתקשרות באינטרנט?
תודה מראש
|