LifeSux Posted March 27, 2012 Share Posted March 27, 2012 (edited) Autoitte bu server client ilişkisini öğrenmek için bir kod yazdım.Kendi bilgisayarımda gayet güzel çalışıyor ama başka bilgisayarda hata alıyorum. Belirtilen port açık. Test programlarıylada test ettim. Client: [code] #include <GUIConstants.au3> $ServerIP = @IPAddress1 $Port = 33891 TCPStartup() $ConnectedSocket = TCPConnect($ServerIP, $Port) If @error Then MsgBox(4112, "Hata", "Bağlantı Başarısız." & @error) Else While 1 $Data = InputBox("Gönderilecek Komut", "Lütfen gönderilecek komutu yazınız.") If @error or $Data = "" Then ExitLoop TCPSend($ConnectedSocket, $Data) If @error Then ExitLoop WEnd EndIf[/code] Server: [code]#include <GUIConstants.au3> $ServerIP = @IPAddress1 $Port = 33891 TCPStartup() $MainSocket = TCPListen($ServerIP, $Port) if $MainSocket = -1 Then Exit $ConnectedSocket = -1 Do $ConnectedSocket = TCPAccept($MainSocket) Until $ConnectedSocket <> -1 While 1 $recv = TCPRecv($ConnectedSocket, 2048) if @error Then ExitLoop if $recv <> "" Then _CommandToAction($recv) EndIf WEnd if $ConnectedSocket <> -1 Then TCPCloseSocket($ConnectedSocket) TCPShutdown() Func _CommandToAction($command) $ar = StringSplit($command, "|") Switch $ar[1] Case "Msg" MsgBox(0, $ar[2], $ar[3]) EndSwitch EndFunc [/code] Hata nerede arkadaşlar ??? Neden çalışmıyor sizce ? Sanırım @Ipadress1 de bir sorun oldu ? acaba sadece kendi içinde mi dönüyor ya bu ?? nasıl düzelticem acaba?? Edited March 27, 2012 by LifeSux Quote Link to comment Share on other sites More sharing options...
blue_life Posted March 28, 2012 Share Posted March 28, 2012 @LifeSux Örneğini fazla incelemedim, lakin ip hatalı olabilir. Kısaca serverden client bilgisayara mesaj gödnereceksen, serverde çalışan bilgisayar clientin ipsine bağlanmalı! Kısaca @IPAddress1 macrosu yerine clientin ipsi yazılmalı. Clientte çalışan program için ise, gendle @IPAddress1 macrosu işe yarayacaktır. Dediğim gibi fazla vaktim olmadığından örneğini incelemedim @LifeSux Örneğini fazla incelemedim, lakin ip hatalı olabilir. Kısaca serverden client bilgisayara mesaj gödnereceksen, serverde çalışan bilgisayar clientin ipsine bağlanmalı! Kısaca @IPAddress1 macrosu yerine clientin ipsi yazılmalı. Clientte çalışan program için ise, gendle @IPAddress1 macrosu işe yarayacaktır. Dediğim gibi fazla vaktim olmadığından örneğini incelemedim Quote Link to comment Share on other sites More sharing options...
LifeSux Posted March 28, 2012 Author Share Posted March 28, 2012 [b]Şimdi client benim bilgisayarımdaki , server karşı tarafa gönderdiğim. 2 dosyadaki ip kısmınıda 192.168.2.4 olarak değiştirdim. Yinede sonuç aynı clienttan bağlantı yapamıyorum. [/b] Quote Link to comment Share on other sites More sharing options...
ahmet18100 Posted March 28, 2012 Share Posted March 28, 2012 Eğer manuel ip vermediysen manuel ip ver. modemden de olabilir swich kullanıyosan oda yapabilir kapat aç bi onları.bi de ağda başka pcler varsa bağlantılarını iptal et sadece serverla 1 cliient kalsın... Quote Link to comment Share on other sites More sharing options...
LifeSux Posted March 28, 2012 Author Share Posted March 28, 2012 [b]Port ve ip ayarları şu şekilde arkadaşlar : [/b] [img]http://g1203.hizliresim.com/v/w/3wg2v.jpg[/img] [img]http://g1203.hizliresim.com/v/w/3wg35.jpg[/img] Quote Link to comment Share on other sites More sharing options...
blue_life Posted March 29, 2012 Share Posted March 29, 2012 @LifeSux Aynı ağ üzerindeyseniz (yani yerel ağ) port vs. açamana gerek yok diye hatırlıyorum. Ben bir süre önce benzer bir şey hazırlamıştım. Biraz kurcala, eğer başaramazsan senin için bir ara kodlarını elden geçirebilirim... http://www.tnctr.com/topic/196991-serverden-adhdaki-bilgisayarlara-ythlem-yaptyrmak/ Kolay gelsin.... Quote Link to comment Share on other sites More sharing options...
LifeSux Posted March 29, 2012 Author Share Posted March 29, 2012 (edited) [quote name='blue_life' date='29 March 2012 - 10:29 ' timestamp='1333009779' post='1177043'] @LifeSux Aynı ağ üzerindeyseniz (yani yerel ağ) port vs. açamana gerek yok diye hatırlıyorum. Ben bir süre önce benzer bir şey hazırlamıştım. Biraz kurcala, eğer başaramazsan senin için bir ara kodlarını elden geçirebilirim... http://www.tnctr.com/topic/196991-serverden-adhdaki-bilgisayarlara-ythlem-yaptyrmak/ Kolay gelsin.... [/quote] Hayır aynı ağda değiliz arkadaşımla. O farklı evde farklı modemde ben farklı evde farklı modemde. Hala beceremedim bir türlü.Benim kodlara bir el atarsan harika olucak. Edited March 29, 2012 by LifeSux Quote Link to comment Share on other sites More sharing options...
blue_life Posted March 29, 2012 Share Posted March 29, 2012 @LifeSux Ilgili komutları çok fazla kullanmadım ve şuan yeterli zamanım da yok. Önümüzdeki hafta içi bu konuya bakmaya çalışacağım. Yalnız uzak bilgisayar ile bağlantı kuracağına göre senin kullandığın ip yerel olduğu için hatalıdır. Kısacası uzak ip adresini kullanman belki sorunu çözebilir. [code]#include <Inet.au3> Local $PublicIP = _GetIP() MsgBox(0, "IP Address", "Your IP Address is: " & $PublicIP)[/code] Umarım çözebilirsin, kolay gelsin... Quote Link to comment Share on other sites More sharing options...
LifeSux Posted April 3, 2012 Author Share Posted April 3, 2012 [quote name='blue_life' date='29 March 2012 - 19:51 ' timestamp='1333043462' post='1177305'] @LifeSux Ilgili komutları çok fazla kullanmadım ve şuan yeterli zamanım da yok. Önümüzdeki hafta içi bu konuya bakmaya çalışacağım. Yalnız uzak bilgisayar ile bağlantı kuracağına göre senin kullandığın ip yerel olduğu için hatalıdır. Kısacası uzak ip adresini kullanman belki sorunu çözebilir. [code]#include <Inet.au3> Local $PublicIP = _GetIP() MsgBox(0, "IP Address", "Your IP Address is: " & $PublicIP)[/code] Umarım çözebilirsin, kolay gelsin... [/quote] Göz atabildin mi blue ?? Quote Link to comment Share on other sites More sharing options...
blue_life Posted April 3, 2012 Share Posted April 3, 2012 (edited) @LifeSux Şimdi baktım ve malesef başarıya ulaşamadım. Lakin düşüncelerimi (yanlışda olabilir, çünkü bu konularda fazla bilgim yok) kısaca yazmak istiyorum. Sen uzaktaki bir bilgisayara mesaj göndermek için, o bilgisayarın uzak ipsini kullanmalısın. Haliyle ilgili bilgisayarda da bağlantı yaptığınız port, modemden ilgili bilgisaraya yönlendirilmiş olması gerek. Şöyle analatayım; 1. bilgisyarımız server olsun. Yani bu 1. bilgisayardan mesaj diğer bilgisayara gönderilecek. Bu bilgisayarın ipleri önemli deyil. 2. bilgisayarımız haliyle cilent oluyor ve uzak ip adresi 78.169.235.1 olsun. Bu bilgisayarın yerel ağdaki ip adresi de 192.168.2.4 olsun. Sen 1. bilgisayardan mesajını 78.169.235.1 ip adresine göndereceksin ve mesajı gönderdiğinde bu mesaj ikinci bilgisayarımızın modemine ulacaşacak. Modemden bu bilginin yönlendirileceği kısımı haliyle nat bölümünden ayarlıyoruz. Işte ilgili kullandığımız port için ilgili yerel ağdaki ipmize yönledirme yapacağız. Yani 192.168.2.4 de yönlendirme yapacağız. Bu sayede modem ilgili porttan gelen veriyi 192.168.2.4 göndermiş olacak ve ikinci bilgisayarımızda çalışan client programı bu mesajı okuyacak. Benim bildiğim kadarıyla böyle bir şeydi. Eğer hızlı bir ftp sunucun var ise, yapmak istediğin ftp sunucusuylada yapabilirsin. Yani serverden gönderilecek mesaj, ftpdeki bir dosyaya aktarılır ve client bu aktarılan dosyadaki mesajı okur. Forumda buna benzer örnekler vardı diye hatırlıyorum. Ftp hesabın yoksa, free hesapta açabilirsin. Free hizmet veren sitelere googlede ufak aramalar sonucu ulaşabileceğini düşünüyorum. Fazla yardımcı olamadım kusura bakma, kolay gelsin... Edited April 3, 2012 by blue_life Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.