merhabe ben bişeler kapmak için foruma üye oldum bir sorum olacak burda da bir makale vardı sanırsam onun hakkında ben bir proje buldum portlardan veri aktarmayla ilgili elimde okumayla (server) ilgili şöyle bir kod var:
Thread kanal;
bool Working = false;
bool Paused = false;
private void StartServer_Click(object sender, EventArgs e)
{
if (Working == false)
{
kanal = new Thread(new ThreadStart(dinle));
try
{
kanal.Start();
kanal.Priority = ThreadPriority.Highest;
}
catch (ThreadAbortException hata)
{
kanal.Abort();
Log.Text = Log.Text + "
# Hata: Bekleyen paket yok";
}
Working = true;
Log.Text = Log.Text + "
#Server Başlatıldı";
StartServer.Text = "Sunucuyu Durdur";
}
else
{
if (Working == true)
{
kanal.Abort();
Log.Text = Log.Text + "
# Sunucu Durduruldu";
StartServer.Text = "Sunucuyu Başlat";
}
}
}
private void dinle()
{
bool cevap = true;
string ip;
string gelen;
TcpListener dinleyici = new TcpListener(9999);
byte[] gelenveri_dizi = new byte[1024];
byte[] gonderveri_dizi = Encoding.UTF8.GetBytes(cevap.ToString());
while (true)
{
dinleyici.Start();
Socket soket = dinleyici.AcceptSocket();
soket.Receive(gelenveri_dizi, gelenveri_dizi.Length, 0);
gelen = Encoding.UTF8.GetString(gelenveri_dizi);
MessageBox.Show(gelenveri_dizi.Length.ToString());
Log.Text = Log.Text + "
" + gelen;
//listBox1.Items.Add(gelen);
ip = soket.RemoteEndPoint.ToString();
Userlist.Items.Add(ip);
soket.Send(gonderveri_dizi, gonderveri_dizi.Length, 0);
dinleyici.Stop();
}
}
öncelikle şu olayın tam mantığını anlayabilmiş değilim neyin ne olduğunu açıklayabilirseniz sevinirim
ayrıca bu kodda bir hata var gelen en büyük verinin karakterlerini alıyor mesela ilk asdf yazıyorum ikinci abc yazıyorum abcf gidiyor bunun sebebi nedir nasıl çözülür onu da açıklayabilirseniz sevinirim.
|