AliceDemetri Posted December 14, 2013 Posted December 14, 2013 (edited) I'm working on a chat program to communicate between me and some friends. I started by editing the TCPSend and TCPRecieve examples in the include file. As it is right now the client will send the first message but the second one never gets to the server. Client: expandcollapse popupGUICreate('Chat', 400, 400) TCPStartup() $PreServers1 = IniReadSection('Config.cfg', 'Client-IPs') $PreServers2 = IniReadSection('Config.cfg', 'Client-Ports') $PreServers3 = IniReadSection('Config.cfg', 'Client-Pass') Global $Servers[UBound($PreServers1)][4] For $i = 0 To UBound($PreServers1) - 1 $Servers[$i][0] = $PreServers1[$i][1] $Servers[$i][1] = $PreServers2[$i][1] $Servers[$i][2] = $PreServers3[$i][1] Next $Servers[0][0] = UBound($Servers) - 1 GUICtrlCreateEdit('', 5, 25, 390, 290) $gSend = GUICtrlCreateEdit('', 5, 320, 340, 70) $gSendButton = GUICtrlCreateButton('Send', 350, 320, 40, 20) GUISetState() While 1 $Msg = GUIGetMsg() Select Case $Msg = $gSend For $i = 1 To $Servers[0][0] $Servers[$i][3] = TCPConnect($Servers[1][0], $Servers[1][1]) Sleep(1000) While 1 $szData = GUICtrlRead($gSend) GUICtrlSetData($gSend, '') If @error Or $szData = '' Then ExitLoop TCPSend($Servers[$i][3], StringToBinary($szData, 4)) If @error Then ExitLoop WEnd Next EndSelect WEnd The server is stright out of the help file minus the port being changed to 50000 Edit: Found out the issue was actually in the Edit control (Wrong) Edit: Solved the issue, it was trying to make a new TCP Connection within the loop and causing issues New Working Script: GUICreate('Chat', 400, 400) TCPStartup() $PreServers1 = IniReadSection('Config.cfg', 'Client-IPs') $PreServers2 = IniReadSection('Config.cfg', 'Client-Ports') $PreServers3 = IniReadSection('Config.cfg', 'Client-Pass') Global $Servers[UBound($PreServers1)][4] For $i = 0 To UBound($PreServers1) - 1 $Servers[$i][0] = $PreServers1[$i][1] $Servers[$i][1] = $PreServers2[$i][1] $Servers[$i][2] = $PreServers3[$i][1] Next $Servers[0][0] = UBound($Servers) - 1 GUICtrlCreateEdit('', 5, 25, 390, 290) $gSend = GUICtrlCreateEdit('', 5, 320, 340, 70) ClipPut(GuiCtrlRead($gSend)) $gSendButton = GUICtrlCreateButton('Send', 350, 320, 40, 20) GUISetState() Global $Socket = TCPConnect ($Servers[1][0], $Servers[1][1]) While 1 $Msg = GUIGetMsg() Select Case $Msg = -3 Exit Case $Msg = $gSendButton $Send = GUICtrlRead($gSend) GuiCtrlSetData($gSend, '') TCPSend($Socket, $Send) EndSelect WEnd Edited December 14, 2013 by AliceDemetri
guinness Posted December 14, 2013 Posted December 14, 2013 Please mark your post as solved. Thanks. UDF List: Reveal hidden contents _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now