09-05-2008, 17:26
|
|
|
חבר מתאריך: 22.10.07
הודעות: 117
|
|
קודם כל תודה על התגובה.
אז ככה, התחלתי לקרוא קצת על המושגים שדיברת עליהם ואת חלקם אני מבין עכשיו.
התחלתי לכתוב קטעי קוד (אני לא מחפש משהו מוכן, ממש לא).
אני כבר בתוך העניין ומצליח ליצור תקשורת אבל יש לי מספר שאלות:
1. אני עובד בשיטה הראשונה שהזכרת SERVER/CLIENT ויצרתי 2 מתודות: האחת קולטת והאחרת שולחת:
קוד:
privatevoid sending(string str)
{
TcpClient tcpclnt = newTcpClient();
tcpclnt.Connect("127.0.0.1", 8001);
Stream stm = tcpclnt.GetStream();
ASCIIEncoding asen = newASCIIEncoding();
byte[] ba = asen.GetBytes(str);
stm.Write(ba, 0, ba.Length);
byte[] bb = newbyte[100];
int k = stm.Read(bb, 0, 100);
string messege = "";
for (int i = 0; i < k; i++)
{
messege += Convert.ToChar(bb[i]);
}
tcpclnt.Close();
}
privatestring Reading()
{
try
{
IPAddress ipAd = IPAddress.Parse("127.0.0.1");
TcpListener myList = newTcpListener(ipAd, 8001);
myList.Start();
Socket s = myList.AcceptSocket();
byte[] b = newbyte[100];
int k = s.Receive(b);
string messege = "";
for (int i = 0; i < k; i++)
{
messege += Convert.ToChar(b[i]);
}
ASCIIEncoding asen = newASCIIEncoding();
s.Send(asen.GetBytes("The string was recieved by the server."));
s.Close();
myList.Stop();
return messege;
}
catch (Exception ex)
{
MessageBox.Show("Error..... " + ex.StackTrace);
return"K";
}
}
הבעיה היא שאני לא מבין כ"כ מה קורה אחרי שכבר הפעלתי את המתודה Reading פעם אחת.
זאת אומרת, הצלחתי לשלוח נגיד איזושהי מחרוזת שהמחשב השני ה-SERVER הצליח לקבל,
העניין שאני רוצה לשלוח עכשיו עוד מחרוזת מאותו המחשב. מה אני צריך לעשות עכשיו? להפעיל שוב פעם את המתודה READING ואת המתודה SENDING בכל אחד מהמחשבים בהתאם?
המון המון תודה
|