KaoSDlanor

Internet Server (WIP)

Dec 13th, 2014
253
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #SingleInstance, force
  2. #Include %A_ScriptDir%\AHKsock.ahk
  3.  
  4. global hEdit
  5. Gui,Add,Edit,r20 vInfoLog w400 x0 y0 ReadOnly ReadOnly hwndhEdit
  6. Gui,+Resize
  7. Gui,Show
  8.  
  9. AHKsock_Listen(80, "Receive")
  10.  
  11. Return
  12.  
  13.  
  14. Receive(sEvent, iSocket = 0, sName = 0, sAddr = 0, sPort = 0, ByRef bData = 0, bDataLength = 0)
  15. {
  16.     global iSock:=iSocket
  17.     ;MsgBox,% "Event: " . sEvent . "`nName: " . sName . "`nAddress: " . sAddr . "`nSocket: " . iSocket . "`nData:`n" . StrGet(&bData,bDataLength,"UTF-8") . "`nDataLen: " . bDataLength
  18.     sData:=StrGet(&bData,bDataLength,"UTF-8")
  19.     sData:=RegExReplace(sData,"`n","``n`n")
  20.     sData:=RegExReplace(sData,"`r","``r`r")
  21.     global sOutput:=sOutput . sEvent . " " . sData . " - " . bDataLength . "`r`n"
  22.     if (sEvent="SEND")
  23.     {
  24.         FileRead,sPageContent,myPage.htm
  25.         sPageContent:="HTTP/1.1 200 OK`n`rCONTENT-LENGTH: " . StrLen(sPageContent) . "`n`r`n`r" . sPageContent
  26.         AHKSend(sPageContent)
  27.     }
  28.     ;if sEvent=DISCONNECTED
  29.         ;ExitApp
  30.     GuiControl,,InfoLog,% sOutput
  31.     global hEdit
  32.     sendmessage, 0x115, 7, 0,, ahk_id %hEdit%
  33. }
  34. return
  35.  
  36. GuiSize:
  37.     if ErrorLevel=1
  38.         return
  39.     GuiControl,Move,InfoLog,X0 Y0 W%A_GuiWidth% H%A_GuiHeight%
  40. Return
  41.  
  42. GuiClose:
  43.     ExitApp
  44. Return
  45.  
  46.  
  47. AHKSend(sMsg)
  48. {
  49.     global iSock
  50.     if (RegExMatch(sMsg,"`r`n")=0)
  51.         sMsg:=sMsg . "`r`n"
  52.     nDataLen:=strlen(sMsg)
  53.     VarSetCapacity(sData,nDataLen)
  54.     StrPut(sMsg,&sData,"UTF-8")
  55.     ;sData:=sMsg
  56.     ;nDataLen:=StrLen(sData)*2
  57.     if (i:=AHKsock_Send(iSock,&sData,nDataLen))<0
  58.         msgbox,% "ERROR " . i
  59.     global sOutput:=sOutput . "SENT """ . StrGet(&sData,nDataLen,"UTF-8") . """ - " . nDataLen . "`r`n"
  60.     GuiControl,,WEBOutput,% sOutput
  61.     global hEdit
  62.     sendmessage, 0x115, 7, 0,, ahk_id %hEdit%
  63.     return i
  64. }
  65.  
  66. /*
  67. AHKSend(sMsg)
  68. {
  69.     global iSock
  70.     if (i:=AHKsock_Send(iSock,&sMsg,StrLen(sMsg)))<0
  71.         msgbox,% "ERROR " . i
  72.     global sOutput:=sOutput . "SENT """ . sMsg . """ - " . StrLen(sMsg) . "`r`n"
  73.     GuiControl,,InfoLog,% sOutput
  74.     return i
  75. }
  76. */
Advertisement
Add Comment
Please, Sign In to add comment