Web aracılığı ile chat proqramı yapmak.

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Kullanıcı avatarı
subhan
Üye
Mesajlar: 224
Kayıt: 05 Mar 2008 08:18

Re: Web aracılığı ile chat proqramı yapmak.

Mesaj gönderen subhan »

ikra yazdı:serveri degil clienti web kisminda calistiracaksin. server.exe dosyan kiraladigin makinada calisacak, clientini ise ocx tabanli yapacaksin ve web sayfana yerlestireceksin.
ocx diye bi aratma yap, internette bir cok örnek cikacak karsina.

java bu is'e daha yatkin. eger ki, bu is'e sifirdan basliyorsan direk java ile dene...
Ikra kardeş qaliba sen benim istediğimi anlamadın. İstediyim kısaca bu:

Bir tane program olaca (server ve ya client) bu program web-de çalışacaq ve diğer bir program ise kulanıcılara dağıtılsın, bu program vasıtası ile tüm kulanıcılar web-de bulunan proqram aracılığı ile chat yapa bilsinler.


Bir de benim kıralık makinam yok. Zaten her zaman çalışan bir makina olsa web ile yapmazdım. Bir de neden client kismi web-de oluyor ki, eğer client kismı web de olursa kulanılar hangı programla chat yapacaklar.
< The Best Boy >
ikra
Üye
Mesajlar: 901
Kayıt: 28 Nis 2005 01:26
Konum: Simdilik Topragin Üstü

Re: Web aracılığı ile chat proqramı yapmak.

Mesaj gönderen ikra »

abicim web ile calisan chat demissin.

bunda anlasilan sey, bildigimiz web sitelerindeki standart java applett. bu da delphide ancak ocx ile olur. bir server bir de client programlarsin. server icin sürekli calisan ve sabit ip adresine sahip olan bir makina olmasi gerek. client kismi da ocx ile web'e entegre edilir. web siteni ziyaret eden kisi, web üzerine entegre ettigin client ile servere baglanarak diger kullanicilar ile chatlesir.

eger ki, program download edilip kullanilacak ise, bu web degil, diger arkadasin da bahsettigi gibi mirc olur. bunun örnekleride forumda mevcut. tclientsocket, tserversocket anahtarlari ile arama yaptir.

kolay gelsin...
kıdemsiz üye
aLonE CoDeR
Kıdemli Üye
Mesajlar: 1223
Kayıt: 26 Nis 2005 04:08

Re: Web aracılığı ile chat proqramı yapmak.

Mesaj gönderen aLonE CoDeR »

Konu farklı yerlere sürüklenmiş. Aradığın şey (önceki cevaplarda belirtilmişti gerçi) irc clienti ve indy setinde bunu yapan bileşen var. Bu durumda bir de irc server'e ihtiyacın olacak. Sunucu kiralarsın ya da bir irc host paketi alırsın bu şekilde konfigüre edersin onun dışında mevcut irc serverlere bağlanabilen parametrik bir irc clienti yazarsın. Mirc, XChat gibi uygulamalar var örnek teşkil etmesi adına inceleyebilirsin.

Kolay gele.
Kullanıcı avatarı
subhan
Üye
Mesajlar: 224
Kayıt: 05 Mar 2008 08:18

Re: Web aracılığı ile chat proqramı yapmak.

Mesaj gönderen subhan »

Ben önce size düşüncelerimi söyleyeyim ki si beni daha iyi anlayın.

Şimdi web-de bir tane MySql veri tabanı olucak. Bu Vt-da 2 tablo olucak.
Tablo1: ID, kulanı ismi, şifre
Tablo2: ID, IP, Port

Şimdi Bilgisayar tarafı: Bir tane program olucaq bu program hem Client hem de Server olucak. Bu program çalıştığı zaman.
Her bilgisayar için otomatik PORT uluşturulsun. Chat giriş zamanı program otomatik web-de bulunan MySql veri tabanğlansın ve
Tablo2-de bulunan IP və Port alanlarını hafızada tutucak. Daha sonra Bu IP ve Port yerini kulanıcı ismi gösterilecek. En sona listeden chat-laşmak istediğin birisini seçine otomatik hafızadan kulanıcının IP ve Port aracılığı ile bilgisayar bağlanıb chat yapabilsinler.


Not: Bunlar benim düşüncelerim. Uygun olura böyle yapmayı düşünüyorum. Ve biliyorum ki bu yöntem ile yapılırsa bazı sorunlar çıkacak. Eğer her hangi birinizde örnek varsa bana verirsiniz. Ben o örneyi iceleyib bir şeyler yapayım.
< The Best Boy >
aLonE CoDeR
Kıdemli Üye
Mesajlar: 1223
Kayıt: 26 Nis 2005 04:08

Re: Web aracılığı ile chat proqramı yapmak.

Mesaj gönderen aLonE CoDeR »

Öncelikle web ifadesini kullanarak hata yapıyorsun, bahsettiğin olay irc'den çıktı socket uygulamasına girer. Socket kullanımını öğrenerek işe başlayabilirsin, fakat standart araçlarla işin zor.
Kullanıcı avatarı
subhan
Üye
Mesajlar: 224
Kayıt: 05 Mar 2008 08:18

Re: Web aracılığı ile chat proqramı yapmak.

Mesaj gönderen subhan »

Sonuda web aracılığı ile yapılıyor. Şimdi örnek yokmu .
< The Best Boy >
Lord_Ares
Üye
Mesajlar: 1070
Kayıt: 15 Eki 2006 04:33
Konum: Çorlu

Re: Web aracılığı ile chat proqramı yapmak.

Mesaj gönderen Lord_Ares »

arkadaşım ben bir ara yazdım, normal socet kullanırsan şuanki chat sayfalarında sıkıntı yaşayabiliryosun bu yuzden tavsiyem şu idirc componenti var delphi7 de indy cilent tabında bir tane bundan , iki tane memo , iki tane button koy ve kodun şu şekilde olmalı.
--------------------------------
baglan buttonu

procedure TForm1.Button1Click(Sender: TObject);
begin
// bağlan
if Button1.Caption='Ayrıl' then begin
if IdIRC1.Connected then IdIRC1.Disconnect;
end else begin
IdIRC1.Host:='irc.tutkuyuz.net';
IdIRC1.Nick:='YamuX';
IdIRC1.AltNick:='YamuX';
IdIRC1.Connect(5000);

end;
end;
-----------------------------------------------------
IdIRC componentin özelliklerindeki receive kısmın bu kodu yaz.
burada yaptığımız iş, chat serverdan bilgi text olarak gelir, bunları memoya alırız, içerisinde kullancaklarımızı aratıp bulduklarımızı kullanıcıya gösteririz.
bu kod ile gelen tüm mesajları alıyoruz.

procedure TForm1.IdIRC1Receive(Sender: TObject; ACommand: String);

begin
Memo1.Text:=Memo1.Text+ACommand;
end;

-----------------------------------------------------------------------------------
gelen kodun içinde mesala chatte kullanılan şu kod var. join komutu .
bu kod ile istedimiz bir odaya girebiliriz. chat komutlarını biliyorsan bunları gelen bilgi içinde armana gerek yok sadece sana yazılanları araman işini kolaylaştırır.

mesala oyun odasına girmek için şöyle komut konderirsin

procedure TForm1.Button3Click(Sender: TObject);
begin
IdIRC1.Raw('join #Oyun');
end;
-----------------------------------

mesela sadece bir kullanıcının sana yazdıklarını görmek istiyorsun. yani chatteki kişinin özelinden konuşma gibi . Örnek ahmet nickli kişinin sana yazdıklarını görmek isityorsun. idirc componentinin message özelliğine şu kodu yazmalısın


procedure TForm1.IdIRC1Message(Sender: TObject; AUser: TIdIRCUser;
AChannel: TIdIRCChannel; Content: String);

BEGIN
if AUser.Nick='ahmet' then begin
memo1.text:=content;
end;

kolay gelsin
Cevapla