by rolovely 28/07/11, 03:24 pm
code ข้างล่างนี้ ผมได้เอาไปทำผสมผสานกับ ตัวป้องกันเกมที่ผมเคยทำขึ้นมานะครับ ตัวนี้ก็สามารถจำลองเซิฟเวอร์ได้เลย ก็คือ การติดต่อของมันจะเช็คว่า ติดต่อกับเซิฟเวอร์ได้หรือไม่ เกิดถ้าไม่ได้ก็จะปิดตัวเอง แต่เกิดถ้าได้ ก็จะเริ่มเกมอัตโนมัติ
ตัวนี้ตัวเซิฟเวอร์ หรือจะเรียกว่า ตัวแม่ก็ได้
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.3.0.0
Author: myName
Script Function:
Template AutoIt script.
#ce ----------------------------------------------------------------------------
; Host or Ip to Connect to
$Server_IP = @IPAddress1
$Server_Port = '10103'
; Start The TCP Services
TCPStartup ( ) ; To start TCP services
; Time to Listen for Connections
$MainSocket = TCPListen($Server_IP, $Server_Port, 100 )
If $MainSocket = -1 Then Exit
; Accept a Incoming Connection
While 1
$ConnectedSocket = TCPAccept( $MainSocket)
If $ConnectedSocket >= 0 Then
$recv = TCPRecv($ConnectedSocket, 128)
sleep(300)
If StringLen($recv) Then
If StringInStr($recv, "Connect:") Then
$recv = StringSplit($recv, ":")
$ip2 = $recv[2]
$Socket2 = TCPConnect($Server_IP, $Server_Port)
TCPSend($Socket2, "Connected...")
EndIf
EndIf
EndIf
WEnd
; Server will Run continously
ส่วนตัวนี้ตัวลูก เอาไว้ใช้ในการติดต่อว่าติดต่อได้ไหม เกิดถ้าได้ ก็ให้เข้าเกมเอง แต่ถ้าไม่ได้ ก็ทำการปิดโปรแกรมเอง
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.3.0.0
Author: myName
Script Function:
Template AutoIt script.
#ce ----------------------------------------------------------------------------
; Host or Ip to Connect to
$Server_IP = "ใส่ไอพี ที่ต้องการให้ติดต่อ"
$Sever_Port = "10103"
$MyIP=@IPAddress1
; Start The TCP Services
TCPStartup ( ) ; To start TCP services
; Connect to The Server
$socket = TCPConnect( $Server_IP, $Sever_Port )
If $socket = -1 Then
MsgBox(0, "Client", "ไม่สามารถติดต่อกับเครื่องเซิฟเวอร์ได้ กรุณาเช็คไฟล์วอร์ของคุณ ว่า On หรือ Off กรุณา On Firewall!")
Exit
EndIf
If $socket >= 0 Then
$socket2 = TCPConnect( $Server_IP, $Sever_Port )
TCPSend($socket2, "Connect:" & $MyIP)
msgbox(0,"Client","เชื่อมต่อสำเร็จ!")
Run('pang.exe')
EndIf
While 1
If ProcessExists('pang.exe') Then
Else
TCPCloseSocket($socket)
TCPCloseSocket($Socket2)
Sleep(500)
EndIf
WEnd