Что нового

[Сеть, интернет] Передача по сети возвращаемого значения функции _WinAPI_UniqueHardwaeID...

Cruelbob

Новичок
Сообщения
4
Репутация
0
Клиент
Код:
#Include <WinAPIEx.au3>


$g_IP = "127.0.0.1"

; Start The TCP Services
;==============================================
TCPStartUp()

; Connect to a Listening "SOCKET"
;==============================================
$socket = TCPConnect( $g_IP, 69 )
If $socket = -1 Then Exit

$data = _WinAPI_UniqueHardwaeID(BitOR($UHID_MB, $UHID_BIOS))
TCPSend ( $socket, $data )
Sleep (100)
TCPShutdown ()
Сервер
Код:
$g_IP = "127.0.0.1"

; Start The TCP Services
;==============================================
TCPStartUp()

; Create a Listening "SOCKET"
;==============================================
$MainSocket = TCPListen($g_IP, 69, 50)
If $MainSocket = -1 Then Exit
While 1
$ConnectedSocket = TCPAccept($MainSocket)
If $ConnectedSocket >= 0 Then
    $data = TCPRecv($ConnectedSocket, 100)
    MsgBox(0,"test data",$data)
    TCPShutdown ()
    Exit
EndIf
Wend
Сервер выдает пустую строку, хотя при передачи текста все проходит нормально...
 

Garrett

Модератор
Локальный модератор
Сообщения
3 999
Репутация
964
Сервер:
Код:
;~ Server
TCPStartUp()

$Socket = TCPListen(@IPADDRESS1, 33891)
If $Socket = -1 Then Exit
	
While 1
$ConnectedSocket = TCPAccept($Socket)
If $ConnectedSocket >= 0 Then
	$recv = TCPRecv($ConnectedSocket, 1000)
		If $recv <> "" Then
		MsgBox(0,"",$recv)
		TCPCloseSocket($Socket)
		TCPShutDown()
		Exit
		EndIf
    EndIf
Wend


Клиент:
Код:
;~ Client
#include <WinAPIEx.au3>

$sHardwaeID = _HardwaeID()
TCPStartUp()
$Socket = TCPConnect(@IPADDRESS1, 33891)
If $Socket = -1 Then Exit
$iData = TCPSend($Socket,$sHardwaeID)
If $iData = 0 Then Exit
TCPCloseSocket($socket)
TCPShutDown()

Func _HardwaeID()
	$data = _WinAPI_UniqueHardwaeID(BitOR($UHID_MB, $UHID_BIOS))
	If Not @error Then
	Return $data
	EndIf
EndFunc
 
Автор
C

Cruelbob

Новичок
Сообщения
4
Репутация
0
Огромное спасибо за код))))
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 711
Вот только я не понял каким боком это касается _WinAPI_UniqueHardwaeID().

:smile:
 
Автор
C

Cruelbob

Новичок
Сообщения
4
Репутация
0
Ну например если хочу защитить программу от взлома, то идет проверка с серва... Если такое железо есть в базе данных серва, то программа будет работать)
Вот что получилось:
Клиент:
Код:
#include <WinAPIEx.au3>

Global $socket1, $socket2, $socket3
$sHardwaeID = _HardwaeID()

$IP1 = "127.0.0.1"
TCPStartUp()



$Socket1 = TCPConnect($IP, 33891)
If $Socket1 = -1 Then Exit
TCPSend($Socket1,$sHardwaeID)
TCPCloseSocket($socket1)

$socket2 = TCPListen($IP, 69,100)
If $socket2 = -1 Then Exit

While 1
	$socket3 = TCPAccept($socket2)
	If $socket3 >= 0 Then
		$recv = TCPRecv($socket3,1000)
		MsgBox(0,"fd",$recv)
		TCPCloseSocket($socket2)
		Exit
		TCPShutDown()
	EndIf
WEnd




Func _HardwaeID()
    $data = _WinAPI_UniqueHardwaeID(BitOR($UHID_MB, $UHID_BIOS))
    If Not @error Then
    Return $data
    EndIf
EndFunc

Сервер:
Код:
Global $socket1, $socket2
$IP = "127.0.0.1"
$otvet = "net"

TCPStartUp()
$socket1 = TCPListen($IP, 33891,100)
If $socket1 = -1 Then Exit



While 1
	$socket3 = TCPAccept($socket1)
	If $socket3 >= 0 Then
		$r = TCPRecv($socket3,1000)
		If $r = "{4A088EB9-ADD4-5432-FA42-29EA655875D1}" Then
			$t = 1
		    $otvet = "da"
			TCPCloseSocket($socket1)
			ExitLoop		
		EndIf		
	EndIf
WEnd


$socket2 = TCPConnect($IP, 69)
If $t = 1 Then
TCPSend($socket2,$otvet)
TCPCloseSocket($socket2)
EndIf
TCPShutdown()
 
Верх