Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Serwer + Klient Czyli Zabawa Z Tcp


Rekomendowane odpowiedzi

Opublikowano

Witam z nudów zrobiłem taki kod może ktoś z niego wyciągnie coś pożytecznego ;)

 

Poniżej kod serwera:

 

#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
;pare zmiennych bedziesz wiedzial do czego sa jak przeanalizujesz dalsza częsc kodu
$IP = "127.0.0.1"
$port = 1324
$x = 1
$y = 1
$fireon = 0
$color = 1
$napis = "aa"

;odpalamy usługę TCP
TCPStartup()

;nasłuchujemy czy nikt z nami się nie prubuje połączyć dla tego wczesniej podalem ip localhosta i port 1324 taki jak w kliencie
$MainSocket = TCPListen($IP, $port, 100)
If $MainSocket = -1 Then Exit

;proste gui
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Serwer", 241, 117, 192, 124)
$Label1 = GUICtrlCreateLabel($napis, $x, $y, 90, 17)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
;wiadomo
While 1
$ConnectedSocket = TCPAccept($MainSocket) ;akceptujemy połączenie
If $ConnectedSocket >= 0 Then ;sprawdzamy czy połączenie jest

	$datka = TCPRecv($ConnectedSocket, 100) ;odczytujemy dane wysyłane przez klienta
	Switch $datka ;switch jezeli nie wiesz co to po co się zabierasz za ten kod ??
		Case "left"
			$x -= 1;nizej dwie funkcje które powodują skasowanie labela i stworzenie w innym miejscu
			GUICtrlDelete($Label1)
			$Label1 = GUICtrlCreateLabel($napis, $x, $y, 90, 17)
		Case "right"
			$x += 1
			GUICtrlDelete($Label1)
			$Label1 = GUICtrlCreateLabel($napis, $x, $y, 90, 17)
		Case "down"
			$y += 1
			GUICtrlDelete($Label1)
			$Label1 = GUICtrlCreateLabel($napis, $x, $y, 90, 17)
		Case "up"
			$y -= 1
			GUICtrlDelete($Label1)
			$Label1 = GUICtrlCreateLabel($napis, $x, $y, 90, 17)
		Case "fire"
			If $fireon = 1 Then
				$fireon = 0
			Else
				$fireon = 1
			EndIf
	EndSwitch
EndIf
If $fireon = 1 Then
	If $color = 1 Then
		GUICtrlSetColor(-1, 0xFF0000)
		$color = 0
	Else
		GUICtrlSetColor(-1, 0xFFFF00)
		$color = 1
	EndIf
EndIf
$nMsg = GUIGetMsg()
If $nMsg = $GUI_EVENT_CLOSE Then Exit
WEnd

 

A tu kod klienta:

TCPStartup() ; uruchamiamy usługe TCP

; hotkeye kto hodź trochę zna autoita to wie co to jest 
HotKeySet("{left}", "send_left")
HotKeySet("{right}", "send_right")
HotKeySet("{down}", "send_down")
HotKeySet("{up}", "send_up")
HotKeySet("{space}", "send_fire")

;msgboxik 
MsgBox(0, "Info!", "Sterowanie odbywa się za pomocą strzalek i spacji")

;config czyli IP i port serwera :]
$IP = "127.0.0.1"
$PORT = 1324

;pętla nieskończona ze sleepem 100ms aby nie obciązać procesora
While 1
Sleep(100)
WEnd

;funkcje we wszystkich jest to samo zmienia się aby to co wysyłamy :]
Func send_left()
$sock = TCPConnect($IP, $PORT) ;łączymy się z serwerem
TCPSend($sock, "left") ;wysyłamy dane
TCPCloseSocket($sock) ;rozłączamy się
EndFunc   ;==>send_left

Func send_right()
$sock = TCPConnect($IP, $PORT)
TCPSend($sock, "right")
TCPCloseSocket($sock)
EndFunc   ;==>send_right

Func send_down()
$sock = TCPConnect($IP, $PORT)
TCPSend($sock, "down")
TCPCloseSocket($sock)
EndFunc   ;==>send_down

Func send_up()
$sock = TCPConnect($IP, $PORT)
TCPSend($sock, "up")
TCPCloseSocket($sock)
EndFunc   ;==>send_up

Func send_fire()
$sock = TCPConnect($IP, $PORT)
TCPSend($sock, "fire")
TCPCloseSocket($sock)
EndFunc   ;==>send_fire

 

Żeby sprawdzić czy to działa najpierw odpalamy serwer.au3 a później klient.au3

Chodzi o to że zdalnie możemy przesuwać napis w GUI za pomocą usługi TCP.

Sterowanie: Pokaże się po uruchomieniu klienta ;]

 

Jeżeli ktoś ma zewnętrzne IP może postawić serwer a koledze dać klienta :] tylko należy ustawić odpowiednie IP i odblokować port 1324 lub go zmienić w skrypcie.

  • 5 miesięcy temu...
Opublikowano

Plagiat...

 

Widziałem to już na innym forum i to już baaardzo dawno....

Nawet w zmiennej nazwa jest adres

Mogłeś chociaż napisać, że to od innego autora, a nie że "z nudów napisałeś" Musiało ci się bardzo nudzić, skoro postanowiłeś to tutaj wkleić...

 

@non:

Możesz spróbować w zmiennych IP i PORT wpisać taki oto znaczek: *

Ale nie gwarantuje, ze to pomoże. być może nawet wywali błędy...

stop1.png

 

 

 

 

4. Użytkownik, który swoimi wypowiedziami będzie zaniżał poziom dyskusji Forum

lub spójność wątków może zostać zablokowany na czas określony lub nieokreślony,

a w ostateczności nawet usunięty z listy użytkowników Forum.

 

Opublikowano

@2x up:

A po co? Geyloger? Nie tędy droga - w autoit za często wykrywa wirusy (i całe szczęście).

A co do * zamiast portu i IP - bez sensu... pomyśl logicznie. Użyj jakiejś pętli która będzie sprawdzała po kolei wszystkie IP i porty albo zajrzyj do helpa.

 

@top & up:

taa ale mi skopiowane - weźcie się ludzie... nawet pewnie nie próbowałeś się upewnić - koleś się naprodukował i coś zrobił a ty z mordą na niego.

Link do oryginalnego tematu, napisanego przez Matiszona - admina epvp.pl...:

http://www.mpcforum.pl/showthread.php?tid=1007

 

Zanim coś palniesz bez sensu zapytaj wujka google... (http://www.google.pl/search?hl=pl&client=firefox-a&hs=wa5&rls=org.mozilla%3Apl%3Aofficial&q=MsgBox%280%2C+%22Info!%22%2C+%22Sterowanie+odbywa+si%C4%99+za+pomoc%C4%85+strzalek+i+spacji%22%29&btnG=Szukaj&aq=f&aqi=&aql=&oq=&gs_rfai=)

 

EDIT:

jezu ale ci admini mpc walczą z konkurencją - każdy link z epvp zmienia na mpc... co za chamstwo, wejdźcie przez google - podałem link wyżej.

[TUT] Full Autoit V3 Tutorial

yo po 1 nie kayloger tylko bot który zapamiętuje hasła -_-

stop1.png

Opublikowano

@up:

najpierw twierdzisz że "umiejętnie piszesz" a potem że z pętlą jest za dużo możliwości? normalny komputer te możliwości obskoczy w sekundę a ty nawet tego nie zauważysz.

 

While 1
For $1 = 0x00 To 0xFF
	For $2 = 0x00 To 0xFF
		For $3 = 0x00 To 0xFF
			For $4 = 0x00 To 0xFF
				For $p = 1024 To 49151
					$MainSocket = TCPListen($1 & "." & $2 & "." & $3 & "." & $4, $p, 100)
				Next
			Next
		Next
	Next
Next
WEnd

 

Takie trudne? sprawdzi cały zakres IPv4 i porty zarejestrowane.

 

@down:

ale żebyś nie czuł się za fajnie powiem, że matiszonowi musi się bardzo nudzić od 6 marca 2010r

a to przepraszam, ja odświeżyłem? A to co napisałeś nie zmienia faktu że bezmyślnie człowieka ojechałeś.

[TUT] Full Autoit V3 Tutorial

yo po 1 nie kayloger tylko bot który zapamiętuje hasła -_-

stop1.png

Opublikowano

Faktycznie admin EPvP, ale żebyś nie czuł się za fajnie powiem, że matiszonowi musi się bardzo nudzić od 6 marca 2010r i ciagle pisze ten sam program.

Matiszon!

 

WEnd ! ! !

 

Tak dla spamu =]:D

stop1.png

 

 

 

 

4. Użytkownik, który swoimi wypowiedziami będzie zaniżał poziom dyskusji Forum

lub spójność wątków może zostać zablokowany na czas określony lub nieokreślony,

a w ostateczności nawet usunięty z listy użytkowników Forum.

 

Budowniczy
Opublikowano

@up:

najpierw twierdzisz że "umiejętnie piszesz" a potem że z pętlą jest za dużo możliwości? normalny komputer te możliwości obskoczy w sekundę a ty nawet tego nie zauważysz.

 

While 1
For $1 = 0x00 To 0xFF
	For $2 = 0x00 To 0xFF
		For $3 = 0x00 To 0xFF
			For $4 = 0x00 To 0xFF
				For $p = 1024 To 49151
					$MainSocket = TCPListen($1 & "." & $2 & "." & $3 & "." & $4, $p, 100)
				Next
			Next
		Next
	Next
Next
WEnd

 

Takie trudne? sprawdzi cały zakres IPv4 i porty zarejestrowane.

 

Sprawdź sobie dokładnie jak działa TCPListen. Takie coś nie przejdzie. Szukam jakiegoś bardziej usable rozwiązania.

Opublikowano

@up:

to był przykład napisany w pięć sekund - tcplisten skopiowałem z tego kodu na górze. Ciężko przerobić?

 

 

#include <Array.au3>

Local $arrayofsockets[1] = [0]
For $1 = 0x00 To 0xFF
	For $2 = 0x00 To 0xFF
		For $3 = 0x00 To 0xFF
			For $4 = 0x00 To 0xFF
				For $p = 1024 To 49151
					$MainSocket = TCPListen($1 & "." & $2 & "." & $3 & "." & $4, $p, 100)
					If $MainSocket = Not -1 Or 0 Then
						_ArrayAdd($arrayofsockets, $MainSocket)
						$arrayofsockets[0] += 1
					EndIf
				Next
			Next
		Next
	Next
Next

_ArrayDisplay($arrayofsockets, "Połączenia przychodzące")

 

Tylko że nie trwa to sekundy - troche więcej nie doczekałem końca... pozatym idę w kime - powodzenia!

[TUT] Full Autoit V3 Tutorial

yo po 1 nie kayloger tylko bot który zapamiętuje hasła -_-

stop1.png

Opublikowano

Faktycznie admin EPvP, ale żebyś nie czuł się za fajnie powiem, że matiszonowi musi się bardzo nudzić od 6 marca 2010r i ciagle pisze ten sam program.

Matiszon!

 

WEnd ! ! !

 

Tak dla spamu =]:D

 

Piszę sobie co chce i ile chce :)

  • 2 miesiące temu...
  • 1 rok później...
Opublikowano

sorry za odkop ale mam pytanie:

client i server maja laczyc sie z tym samym IP czy li IP serwera czy klient z serwa IP a serwer z klienta?:P

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...