ممنون این رو هم دیدم و دانلود کردم ولی مشکلم اینه که برنامه شما اجرا نمیشه روی سیستم.
یعنی چی اجرا نمیشه؟ خطا میده؟ باگ داره؟ کار نمیکنه؟ برای کار با برنامه ابتدا برنامه سرور و بعد برنامه کلاینت رو اجرا کنید. در برنامه کلاینت روی Set Server کلیک کنید و IP کامپیوتری که برنامه سرور روی اون اجرا شده رو بدید (در صورتی که برنامه سرور هم روی سیستم خودتون اجرا شده IP رو 127.0.0.1 بدید). بعد از این کار روی Sign Up کلیک کنید و یک یوزر اضافه کنید. الان دیگه میتونید از برنامه استفاده کنید.
شما کدهای دریافت اطلاعات در سرور رو باید توی یک حلقه بینهایت قرار بدید. برنامه سرور خودتون رو به 2 روش اصلاح کردم یه نگاه بهش بندازید.
private void AcceptCallback(IAsyncResult ar)
{
Socket temp = ((Socket)ar.AsyncState);
Socket worker = temp.EndAccept(ar);
while (true)
{
try
{
int bytesReceived = worker.Receive(buffer);
string str = System.Text.UTF8Encoding.UTF8.GetString(buffer, 0, bytesReceived);
richTextBox1.Text += str + "\n";
}
catch { break; }
}
//AsyncCallback ReceiveMethod = new AsyncCallback(ReceiveCallBack);
//worker.BeginReceive(buffer, 0, buffer.Length, SocketFlags.None, new AsyncCallback(ReceiveMethod), worker);
}
private void ReceiveCallBack(IAsyncResult ar)
{
try
{
Socket worker = ((Socket)ar.AsyncState);
int bytesReceived = worker.EndReceive(ar);
AsyncCallback ReceiveMethod = new AsyncCallback(ReceiveCallBack);
worker.BeginReceive(buffer, 0, buffer.Length, SocketFlags.None, new AsyncCallback(ReceiveMethod), worker);
string str = System.Text.UTF8Encoding.UTF8.GetString(buffer, 0, bytesReceived);
richTextBox1.Text += str + "\n";
}
catch { }
}