Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

Öne çıkan mesajlar

Mesaj tarihi:
arkadaşlar, ağ üzerinden haberleşecek bir yazılım oluşturmak istiyorum fakat kodlama bilgim bir hayli kısıtlı olduğu için çıkış noktasına ihtiyacım var, gerisini araştırıp deneyerek öğrenebilirim sanırım. serverclient tarzı bir uygulama oluşturulacağını, TCP ve UDP soket tiplerini ve port kullanacağımı tahmin ediyorum. şimdi bu olay için önce nereden başlamalıyım? codeproject.com'u bir hayli araştırdım fakat giriş seviyesi bilgi lazım. türkçe, ingilizce tüm kaynaklar yardımcı olacaktır. şimdiden teşekkürler.
Mesaj tarihi:
asio var xplatform, overlapped io falan kullanıyor windozda.

çok güzel kütüphane de templatelerden, function pointerlarına ordan da boost ile functorlara falan kullanmasan bile biraz aşinalık gerektiriyor. o da biraz dilin uç noktaları gibi.

http://asio.sourceforge.net/

özellikle senkronize örneklere bak, sıradan iostream i kullanır gibi iletişebiliyorsun ağ üzerinden. gözün kesmezse soket programlama tutorial ı aran.
Mesaj tarihi:
bence öncelikle protokolleri öğrenmelisin sonra posix düzeyinde impelemtasyonuna bakmalısın, bunları özümsersen dilersen winsock a da geçmen çok zamanını almaz.
şunları önerebilirim;

TCP/IP Illustrated, Volume 1: The Protocols - Richard Stevens
UNIX Network Programming, Volume 1, Second Edition: Networking APIs: Sockets and XTI - Richard Stevens

bunların pdf ini bulursun merak ettiğin konunun sadece giriş kısmını oku bi daha kolay kolay unutmazsın.
Mesaj tarihi:
Dökümanları inceledikten sonra kodlamaya geçeyim dedim fakat bir parametreyle ilgili bilgi lazım:

IdUDPServer nesnesinin onUDPRead olayında :
ABinding->SendTo(AnsiString AIP, int APort, void *ABuffer,int ABuffersize)

komutunu kullanarak editboxtan aldığım nicki göndermeye çalışıyorum fakat void* ABuffer parametresi sürekli hata veriyor, ne olduğunu bulamadım, yardım edebilirseniz sevinirim.

kodun anlatmaya çalıştığım bölümü

String s;
TStringStream *ds;
ds->CopyFrom(AData,AData->Size);
if(ds->DataString=="kim_bagli" )
{
s="nick: "+Edit1->Text;
ABinding->SendTo(ABinding->PeerIP,ABinding->PeerPort,s[1],s.Length());
}

Mesaj tarihi:
string i gönderirken byte array ine cast etmen veya serialize etmen gerekir diye düşünüyorum. ayrıca c# da unicode bişiler standart diye hatırlıyorum karakter sayısı ile gönderilecek byte sayısı birbirine eş olmayabilir.
×
×
  • Yeni Oluştur...