Sign in to follow this  
Followers 0
Turtlix21

TCP, UDP problem with receiving data

8 posts in this topic

#1 ·  Posted (edited)

I've a problem with receiving data on my PC by TCP and UDP. I can send data to another computer, but can't receive it.

I'm not shure where is the problem (on PC or on "another comupers")

This is client code:

;TCP client
TCPStartup()
$socket = TCPConnect("192.168.0.18", 7777) ;try to connect to server and save number of socket
If $socket = -1 Then ;if $socket = -1 then error
   MsgBox(16, "Error:", "Can't connect to server")
EndIf
$sendedBytes = TCPSend($socket, "nothing here :)") ;send message to connected socket
If $sendedBytes = 0 Then ;if receiving data TCPSend(...) = 0 then error
   MsgBox(16, "Error", "Can't send message")
EndIf
TCPCloseSocket($socket)
TCPShutdown()

and server code:

;TCP server
TCPStartup()
$mainsocket = TCPListen("192.168.0.18", 7777) ;making main receiving socket
While 1 ;receiving loop
   $acceptedSocket = TCPAccept($mainsocket) ;possible connection to accept
   If $acceptedSocket <> -1 Then
      $receivedData = TCPRecv($acceptedSocket, 1024) ;if main socket is connected then receive message
      MsgBox(64, "Received message!", "Message: " & $receivedData)
      TCPCloseSocket($acceptedSocket) ;close open connecion
   EndIf
WEnd
TCPShutdown()

 

When server is on PC I can't receive any messages from any other computers.
When client is on PC I can receive messages on any another computer.

I tried to turn off antiviruses and windows firewall but it did't change anything

 

EDIT:

Error code from client from TCPConnect is 10060 (connection time out) and from TCPSend: 10038

I've found something about 10060 error code, Microsoft says "Connection timed out. A connection attempt failed because the connected party did not properly respond after a period of time, or the established connection failed because the connected host has failed to respond."

So it means that the problem is with time of response but it makes no sense couse "another computer" is Virtual Machine with bridge internet connection from PC (pings beetwen PC  and VM are lower than 1ms.

About 10038 error code microsoft says that this is problem with socket and it actually makes sense.

 
Edited by Turtlix21

Share this post


Link to post
Share on other sites



Works good if server and client are on the PC.

Share this post


Link to post
Share on other sites

#5 ·  Posted (edited)

No, they haven't same IP (PC's IP: 0.18 and VM's IP: 0.21), but in both of this codes I have to set up servers IP (in server I'm setting on what ip server will be working, and on client to what server I'm trying to connect).

Edited by Turtlix21

Share this post


Link to post
Share on other sites

#6 ·  Posted (edited)

yep, what I meant was: you said when server is on VM, everything works (so client\server scripts have the right 0.18 IP), but when server is on PC it doesn't work, in this last case, have you kept attention to change accordingly the inserted client\server IPs to 0.21?

Also, it seems stupid but... Server must be started before client execution :P

Edited by j0kky

Share this post


Link to post
Share on other sites

When server is on VM, IPs are 0.21(it's VM's IP), and it's working.
When server is on PC, IPs are 0.18 (it's PC's IP), and it's not working.

So everything should be good.

 

Yeah, i know that server have to be started first :D

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

  • Similar Content

    • akira2891
      By akira2891
      Hi,
      I was wondering is this all inputs can be done in 1 box with 3 fields and not to use another gui.
      And how can i validate data for example if i don't enter username he prompt me a message box all time until field is empty.
      I try like this but it give me a msgbox and continue on another field.
      $username = InputBox("Add new user", "Username", "", "", 200, 130, Default, Default, 0) if $username <> " " then msgbox(0, "", "Please enter username") endif $email = InputBox("Add new user", "Email", "", "", 200, 130, Default, Default, 0) $password = InputBox("Add new user", "Password", "", "*", 200, 130, Default, Default, 0)  
    • ExiLeD4EveR
      By ExiLeD4EveR
      Hello guys, i need help with something. Don't show me other similar threads pls i searched everything and nothing helped my situation. I just need when i press the checkbox in the password form to hide the text and show up as ** and when i press it again it should show letters instead of **.  Thanks in advance!
       
      #include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <EditConstants.au3> #include <StaticConstants.au3> #include <IE.au3> #Region ### START Koda GUI section ### Form=c:\users\EXILED\desktop\coding\autoit\gui samples\simplegui.kxf $SimpleGUI = GUICreate("MultiProgram", 392, 122, -1, -1) GUISetIcon("C:\Users\EXILED\Desktop\Work\Smile\Icon Pack\EcranLcd.ico", -1) $Notepad = GUICtrlCreateButton("Notepad", 16, 24, 73, 25) GUICtrlSetCursor (-1, 0) $Calculator = GUICtrlCreateButton("Calculator", 112, 24, 73, 25) GUICtrlSetCursor (-1, 0) $ExitButoon = GUICtrlCreateButton("Exit", 160, 72, 73, 25) GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif") GUICtrlSetCursor (-1, 0) $Lol = GUICtrlCreateButton("Lol Login", 208, 24, 73, 25) GUICtrlSetCursor (-1, 0) $Facebook = GUICtrlCreateButton("Facebook ", 304, 24, 73, 25) GUICtrlSetCursor (-1, 0) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Calculator StartCalc() Case $Notepad StartNotepad() Case $Facebook ;= if Facebook is pressed it creates the email form $Face_Login = GUICreate("Facebook Login", 295, 88, -1, -1) GUISetIcon("C:\Users\EXILED\Downloads\Iconshock-Social-Media-Beakers-Facebook.ico", -1) $Label1 = GUICtrlCreateLabel("Email", 40, 24, 29, 17) $InputBox1 = GUICtrlCreateInput("", 72, 21, 148, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER)) $Email_button = GUICtrlCreateButton("Done", 96, 56, 97, 25) GUISetState(@SW_SHOW) ;Case $nMsg = $button ;$read = GUICtrlRead ($Password) ;GUICtrlDelete ($Password) ;If $shown Then ; $shown = False ; $Password = GUICtrlCreateInput($read, 20, 75, 160, 20, $ES_PASSWORD) ; GUICtrlSetData($button, "Show Password") ;Else ; $shown = True ; $Password = GUICtrlCreateInput($read, 20, 75, 160, 20, $GUI_SS_DEFAULT_INPUT) ; GUICtrlSetData($button, "Hide Password") ;EndIf While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Email_button ;= if Done from email form is pressed then delete the email form and open the password form $data1 = GUICtrlRead($InputBox1) GUIDelete($Face_Login) Sleep(200) $Face_Login2 = GUICreate("Facebook Login", 295, 120, -1, -1) GUISetIcon("C:\Users\ExILD\Downloads\Iconshock-Social-Media-Beakers-Facebook.ico", -1) $Label2 = GUICtrlCreateLabel("Password", 16, 24, 50, 17) $InputBox2 = GUICtrlCreateInput("", 72, 21, 148, 21, $ES_PASSWORD) $Pass_button = GUICtrlCreateButton("Done", 96, 88, 97, 25) $Checkbox1 = GUICtrlCreateCheckbox("Show Password", 16, 56, 105, 17, $BS_CENTER) GUISetState(@SW_SHOW) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Checkbox1 $read = GUICtrlRead($InputBox2) GUICtrlDelete($InputBox2) If GUICtrlRead($Checkbox1) = $GUI_CHECKED Then MsgBox(64, "Checked successfully!", "Your password is now visible", 10) Else MsgBox(64, "Unchecked successfully!", "Your password is now hidden",10) EndIf Case $Pass_button;= if Done from password form is pressed then it deletes the password form and , to add(open internet explorer on the facebook login page $data2 = GUICtrlRead($InputBox2) GUIDelete($Face_Login2) FB_SignIn() EndSwitch WEnd EndSwitch WEnd EndSwitch WEnd Func FB_SignIn() Global $oIE = _IECreate("https://www.facebook.com/") Local $username = _IEGetObjByName($oIE, "email") Local $password = _IEGetObjByName($oIE, "pass") Local $button = _IEGetObjById($oIE, "loginbutton") _IEFormElementSetValue($username, $data1) _IEFormElementSetValue($password, $data2) _IEAction($button, "click") EndFunc Func StartNotepad() Run("notepad.exe") EndFunc Func StartCalc() Run("calc.exe") EndFunc  
    • ExiLeD4EveR
      By ExiLeD4EveR
      'm trying to make an autologin script for facebook which prompts u to enter an email and a password and then opens the browser and logs you with the info u entered but im having a problem with the text entered in the input box. What i basically want it to do is take what's written on the inputbox and replace it on the email form in the facebook site and the password. Don't mind the other buttons in the gui , i just wanted to focus on the facebook button first. Any help will be appreciated
      #include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <EditConstants.au3> #include <StaticConstants.au3> #include <IE.au3> #Region ### START Koda GUI section ### Form=c:\users\ExiLeD\desktop\coding\autoit\gui samples\simplegui.kxf $SimpleGUI = GUICreate("MultiProgram", 392, 122, -1, -1) GUISetIcon("C:\Users\ExiLeD\Desktop\Work\Smile\Icon Pack\EcranLcd.ico", -1) $Notepad = GUICtrlCreateButton("Notepad", 16, 24, 73, 25) GUICtrlSetCursor (-1, 0) $Calculator = GUICtrlCreateButton("Calculator", 112, 24, 73, 25) GUICtrlSetCursor (-1, 0) $ExitButoon = GUICtrlCreateButton("Exit", 160, 72, 73, 25) GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif") GUICtrlSetCursor (-1, 0) $Lol = GUICtrlCreateButton("Lol Login", 208, 24, 73, 25) GUICtrlSetCursor (-1, 0) $Facebook = GUICtrlCreateButton("Facebook ", 304, 24, 73, 25) GUICtrlSetCursor (-1, 0) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Facebook ;= if Facebook is pressed it creates the email form $Face_Login = GUICreate("Facebook Login", 295, 88, -1, -1) GUISetIcon("C:\Users\ExiLeD\Downloads\Iconshock-Social-Media-Beakers-Facebook.ico", -1) $Label1 = GUICtrlCreateLabel("Email", 40, 24, 29, 17) $InputBox1 = GUICtrlCreateInput("", 72, 21, 148, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER)) $data1 = GUICtrlRead(-1) $Email_button = GUICtrlCreateButton("Done", 96, 56, 97, 25) GUISetState(@SW_SHOW) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Email_button ;= if Done from email form is pressed then delete the email form and open the password form GUIDelete($Face_Login) Sleep(200) $Face_Login2 = GUICreate("Facebook Login", 295, 88, -1, -1) GUISetIcon("C:\Users\ExiLeD\Downloads\Iconshock-Social-Media-Beakers-Facebook.ico", -1) $Label2 = GUICtrlCreateLabel("Password", 16, 24, 50, 17) $InputBox2 = GUICtrlCreateInput("", 72, 21, 148, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER)) $data2 = GUICtrlRead(-1) $Pass_button = GUICtrlCreateButton("Done", 96, 56, 97, 25) GUISetState(@SW_SHOW) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Pass_button ;= if Done from password form is pressed then it deletes the password form and , to add(open internet explorer on the facebook login page GUIDelete($Face_Login2) FB_SignIn() EndSwitch WEnd EndSwitch WEnd EndSwitch WEnd Func FB_SignIn() Global $oIE = _IECreate("https://www.facebook.com/") Local $username = _IEGetObjByName($oIE, "email") Local $password = _IEGetObjByName($oIE, "pass") Local $button = _IEGetObjById($oIE, "loginbutton") _IEFormElementSetValue($username, $data1) _IEFormElementSetValue($password, $data2) _IEAction($button, "click") EndFunc  
    • messilm10
      By messilm10
      how do i get the crash report of any application and any running script?????
    • ronaldo97
      By ronaldo97
      Hello How can I make the GUI is compatible with all screen sizes ??  
      #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> #Region ### START Koda GUI section ### Form= $Form1 = GUICreate("Form1", 623, 445, 192, 124, BitOR($GUI_SS_DEFAULT_GUI,$WS_MAXIMIZE)) GUISetBkColor(0x1E1E1E) $Label1 = GUICtrlCreateLabel("Welcome Back !!", 424, 64, 161, 29) GUICtrlSetFont(-1, 16, 400, 0, "Tahoma") GUICtrlSetColor(-1, 0x800000) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit EndSwitch WEnd How do I make Gui interface compatible with all screen sizes ?? 800*600
      1024*768
      1280*1024