PDA

View Full Version : مشکل با برنامه Chat در Socket Programming



Blackk_lightt
دوشنبه 27 آبان 1387, 10:03 صبح
سلام
من این برنامه رو برای چت بین دو کامپیوتر نوشتم
ولی دوتا مشگل داره :
1-هر کامپیوتر فقط میتونه یه بار پیغام بفرسته و دیگه انگار فرستاده نمیشه
2-مثلا اگه کامپیوتر اول "123" بفرسته بعد کامپیوتر دوم بفرسته "456" برای کامپیوتر اول همون رشته خودش یعنی "123" میره !!!
:متفکر::عصبانی++::عصبانی:
کد کلاینت :


public partial class Form1 : Form
{
Socket Server;
byte [] Buffer = new byte [1024];
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
IPEndPoint ipep = new IPEndPoint(IPAddress.Parse(textBox1.Text),6060);
Server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
Server.Connect(ipep);
}
private void button2_Click(object sender, EventArgs e)
{
Buffer = Encoding.ASCII.GetBytes(textBox1.Text);
Server.Send(Buffer);
}
}

کد سرور :


public partial class Form1 : Form
{
Socket worker;
Socket SCK;
byte[] buffer = new byte[1024];
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
buffer = Encoding.ASCII.GetBytes(textBox1.Text);
worker .Send(buffer);
}
private void Form1_Load(object sender, EventArgs e)
{
SCK = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
IPEndPoint IPEND = new IPEndPoint(IPAddress.Any, 6060);
SCK.Bind(IPEND);
AsyncCallback callBackMethod = new AsyncCallback(AcceptCallback);

SCK.Listen(100);
SCK.BeginAccept(callBackMethod , SCK );
textBox1.Text = "Listening ...";
}
private void AcceptCallback(IAsyncResult ar)
{
Socket temp = ((Socket)ar.AsyncState);
worker = temp.EndAccept(ar);
AsyncCallback ReceiveMethod = new AsyncCallback(ReceiveCallBack);
worker.BeginReceive(buffer, 0, buffer.Length, SocketFlags.None,ReceiveMethod , worker);
MessageBox.Show("Accept");
}
private void ReceiveCallBack(IAsyncResult ar)
{
Socket worker_ = ((Socket)ar.AsyncState);
int bytesReceived = worker_.EndReceive(ar);
string str = System.Text.UTF8Encoding.UTF8.GetString(buffer);
MessageBox.Show(str);

}
}


من عجله دارم
ممنون
بای

Blackk_lightt
دوشنبه 27 آبان 1387, 17:24 عصر
سلام
کسی بلد نیست ؟
من عجله دارم
خواهش :ناراحت::ناراحت::ناراحت:
اگه کسی یه مثال چت ساده هم بزاره ممنون میشم

elizabet
چهارشنبه 29 آبان 1387, 15:19 عصر
دوست عزیز این یه برنامه چت با سی شارپ هست که source شو اینجا گذاشتم امیدوارم به دردت بخوره

razavi_university
چهارشنبه 29 آبان 1387, 22:15 عصر
در قسمت نمونه برنامه ها يكي دو مورد نمونه برنامه در اين رابطه دارد كه از آنها مي توانيد استفاده كنيد

honey5199
یک شنبه 30 خرداد 1389, 17:55 عصر
سلام براي باز كردن زيپ اين فايل احتياج به پسورد داره ميشه راهنمايي كنيد