private void MessageCallBack(IAsyncResult aResult) { try { int size = sck.EndReceiveFrom(aResult, ref epRemote); //Mesaj gönderebilmek için MessageCallBack fonksiyonunu oluşturduk. if(size > 0) //Gönderilen mesajın boyu 0'dan büyükse yani boş mesaj değilse koşulunu oluşturduk. { byte[] receivedData = new byte[1400]; //iletilecek olan mesajı byte türüne dönüştürdük. receivedData = (byte[])aResult.AsyncState; //Arka arkaya 1 den fazla mesaj gönderilmesi koşulunu ayarladık. ASCIIEncoding eEncoding = new ASCIIEncoding(); //Girilen mesajı ASCII ile kodladık. string receivedMessage = eEncoding.GetString(receivedData); //Gönderilen mesajı tekrar string tipine dönüştürdük bu sayede listboxa ekleme yapabileceğiz. listMessage.Items.Add(FriendUserName.ToString() + " => " + receivedMessage); //Listbox'a gönderilen mesajlar eklendi ve her iki kullanıcının görmesi sağlandı. } byte[] buffer = new byte[1500]; sck.BeginReceiveFrom(buffer, 0, buffer.Length, SocketFlags.None, ref epRemote, new AsyncCallback(MessageCallBack), buffer); //Yeni mesaj göndeimi için buffer boşaltıldı. soket parametreleri girildi. } catch (Exception exp) { MessageBox.Show(exp.ToString()); //Hata yakalaması yapıldı. Alınan hata messagebox üzerinde gösterildi. } }
private void FriendUserName_TextChanged(object sender, EventArgs e) { string FriendName = FriendUserName.ToString(); }