Jump to content

Sending data from one machine to another


 Share

Recommended Posts

I would like to send data from one laptop to another via the internet.

I'd like to be able to send the data to multiple machines that may not be currently connected to the internet, but they should recieve it when they are connected.

I have webspace with FTP access, and think it might be possible to upload the data to the server with tags so that a script can search the directory, find the data, then get it. Is this possible?

I also thought about an email type client, as I have unlimited email accounts on the same webspace, I could then set up an email account for each user, but present it more like a Instant messenger type app. Is this possible?

Or is none of this possible? or should I be doing anything else.

The data is mostly text strings, like emails, but in a defined format.

Thanks in advance :-)

Link to comment
Share on other sites

Look at the TCP functions in the help file.

Edited by guinness

UDF List:

 
_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 parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Link to comment
Share on other sites

Take a look to _FTP functions in the help file ;)

Hi!

My UDF: NetInfo UDF Play with your network, check your download/upload speed and much more! YTAPI Easy to use YouTube API, now you can easy retrive all needed info from a video. NavInfo Check if a specific browser is installed and retrive other usefull information. YWeather Easy to use Yahoo Weather API, now you can easily retrive details about the weather in a specific region. No-IP UDF Easily update your no-ip hostname(s).

My Script: Wallpaper Changer Change you wallpaper dinamically, you can also download your wallpaper from your website and share it with all!   My Snippet: _ImageSaveToBMPConvert an image to bmp format. _SciteGOTO Open a file in SciTE at specific fileline. _FileToHex Show the hex code of a specified file

Link to comment
Share on other sites

Client script checks server upon start, or periodically.

Server indicates or not whether new data is available.

If so download it.

Any of these function groups can do this

Inet*

winhttp*

Tcp*

Udp*

and probably more.

AutoIt Absolute Beginners    Require a serial    Pause Script    Video Tutorials by Morthawt   ipify 

Monkey's are, like, natures humans.

Link to comment
Share on other sites

Client script checks server upon start, or periodically.

Server indicates or not whether new data is available.

If so download it.

Any of these function groups can do this

Inet*

winhttp*

Tcp*

Udp*

and probably more.

OK, but how? I cant get the TCP example to work.

Can you explain the server that the TCP function uses, how I get the data after it has been sent etc.

The help file is a little vague on how it all works, and how to put it together, If I could get the example working I might have a shot.

Thanks

Link to comment
Share on other sites

Sorry, I've never used Tcp functions before, be just as quick for you to learn as me.

Probably just best using ftp functions if that's what you're used to (ftp)

Or simply read a file/page with inet* function, if the file has a file path in it then download it, if it's blank, go about script business.

Edited by JohnOne

AutoIt Absolute Beginners    Require a serial    Pause Script    Video Tutorials by Morthawt   ipify 

Monkey's are, like, natures humans.

Link to comment
Share on other sites

The help file isn't vague, it's not an easy topic to learn overnight and your best choice is to look around the Forum.

UDF List:

 
_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 parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Link to comment
Share on other sites

The help file isn't vague, it's not an easy topic to learn overnight and your best choice is to look around the Forum.

Do you think its the right way to go?

Ideally I want ip addresses that I want to send the data to, so when they connect to the internet they collect it.

Im not really used to anything like this, so its a steep learning curve.

Uploading to the webspace is just as daunting, but is probably more reliable right?

Im just worried I will run into bandwidth and storage issues.

Is there a such thing as an autoit email client that I can adapt?

Thanks

Link to comment
Share on other sites

to learn the basics, you would need to run both the TCPSend sample and TCPReceive at the same time (compile them, and run the receive first, then then send). They will then communicate with each other. To communicate between stations, you need to setup a server to run TCPReceive, and another station with TCPSend, where it points to the proper IP (the TCPReceive server). If you are uanble to connect, it's a firewall issue that you will need to open.

IEbyXPATH-Grab IE DOM objects by XPATH IEscriptRecord-Makings of an IE script recorder ExcelFromXML-Create Excel docs without excel installed GetAllWindowControls-Output all control data on a given window.
Link to comment
Share on other sites

Trying to get your computer to contact a perhaps unknown amount of computers around the internet with varying and changing IP's (yes believe it or not IPs can change) is not the way to go.

How do you think software companies deal with this? they don't contact their product, their product contacts them.

say you have a web page, on it is a simple "1" or "0", when you download the webpage source code and find it's a "1", you know the is data to be received.

Now say that "1" is a web address, where your data is stored, you then know where to get it.

This concept is not very difficult to understand.

Edited by JohnOne

AutoIt Absolute Beginners    Require a serial    Pause Script    Video Tutorials by Morthawt   ipify 

Monkey's are, like, natures humans.

Link to comment
Share on other sites

Trying to get your computer to contact a perhaps unknown amount of computers around the internet with varying and changing IP's (yes believe it or not IPs can change) is not the way to go.

How do you think software companies deal with this? they don't contact their product, their product contacts them.

say you have a web page, on it is a simple "1" or "0", when you download the webpage source code and find it's a "1", you know the is data to be received.

Now say that "1" is a web address, where your data is stored, you then know where to get it.

This concept is not very difficult to understand.

Lol, when you put it like that, its sounds like a piece of cake.

But for me to actually make that happen is very difficult, I'm obviously not as good as you ;-)

So I have webspace with FTP access, is it possible for me to upload data to it, using a username and password to a specific directory on the server using Au?

Can I create directories on the webspace using Au? The reason I ask, is each group of users would be all working on the same project, and it would be easier if each project had its own folder. Would I need to manually set up the structure for it to work?

If so, whats the best way to go about it.

I think that each user would be assigned an ID number, so that when the sender uploads data, it contains this ID in some sort of header, and the reciever side will only download the data when the ID is present (in reality it will probably download all the data, then filter out the required stuff).

So many questions, thanks for all your help so far.

Link to comment
Share on other sites

In your case and for non-permanent connections between a group of machines over the Internet, I'd rather use DropBox or any similar product.

This wonderful site allows debugging and testing regular expressions (many flavors available). An absolute must have in your bookmarks.
Another excellent RegExp tutorial. Don't forget downloading your copy of up-to-date pcretest.exe and pcregrep.exe here
RegExp tutorial: enough to get started
PCRE v8.33 regexp documentation latest available release and currently implemented in AutoIt beta.

SQLitespeed is another feature-rich premier SQLite manager (includes import/export). Well worth a try.
SQLite Expert (freeware Personal Edition or payware Pro version) is a very useful SQLite database manager.
An excellent eBook covering almost every aspect of SQLite3: a must-read for anyone doing serious work.
SQL tutorial (covers "generic" SQL, but most of it applies to SQLite as well)
A work-in-progress SQLite3 tutorial. Don't miss other LxyzTHW pages!
SQLite official website with full documentation (may be newer than the SQLite library that comes standard with AutoIt)

Link to comment
Share on other sites

In your case and for non-permanent connections between a group of machines over the Internet, I'd rather use DropBox or any similar product.

I disagree, although I hadnt considered it.

The reason I disagree, the data is mostly text, similar to emails, but I need it presented in a client where the user (or users) can see the status of the request, reply and add their own info.

To me, dropbox seems more suited to storing files.

Link to comment
Share on other sites

It was only a vague direction. There are too many cooperative open services (most free) that could do what you want, depending on your precise requirements.

I just meant that it would certainly be much easier to select the right service than develop such a beast from scratch by yourself, specially given that you don't seem to have much network programming experience. The last point isn't dismissing your abilities, but as previously mentionned here the task is far from completely trivial.

This wonderful site allows debugging and testing regular expressions (many flavors available). An absolute must have in your bookmarks.
Another excellent RegExp tutorial. Don't forget downloading your copy of up-to-date pcretest.exe and pcregrep.exe here
RegExp tutorial: enough to get started
PCRE v8.33 regexp documentation latest available release and currently implemented in AutoIt beta.

SQLitespeed is another feature-rich premier SQLite manager (includes import/export). Well worth a try.
SQLite Expert (freeware Personal Edition or payware Pro version) is a very useful SQLite database manager.
An excellent eBook covering almost every aspect of SQLite3: a must-read for anyone doing serious work.
SQL tutorial (covers "generic" SQL, but most of it applies to SQLite as well)
A work-in-progress SQLite3 tutorial. Don't miss other LxyzTHW pages!
SQLite official website with full documentation (may be newer than the SQLite library that comes standard with AutoIt)

Link to comment
Share on other sites

It was only a vague direction. There are too many cooperative open services (most free) that could do what you want, depending on your precise requirements.

I just meant that it would certainly be much easier to select the right service than develop such a beast from scratch by yourself, specially given that you don't seem to have much network programming experience. The last point isn't dismissing your abilities, but as previously mentionned here the task is far from completely trivial.

The direction is good, but not dropbox. Its an interesting avenue to explore though.

Obviously my network programming experience is lacking (hence why I am here :shifty: )

But if I could find something similar that I can just create a front end GUI for, that would be cool.

I want to avoid the user having to navigate web pages, view ads etc. and just have a single app, that they can fire up and see the data, respond, and every ID linked to that element being able to see the data also.

The basic principle, is there are two teams, one generates a question or a requirement for the other team to answer/clarify. Every member of each team would have the app installed, and be able to see the staus of the request. The originator of the query would chose which people can see the query, and who is able to answer it. The query would then be one of 4 states, open, for closure, closed or cancelled. There would be multiple queries for each project, and multiple projects for the same people. So somebody might be answering queries on the "House renevation" project and the "Landscaping" project (as they are the lead desinger) but the landscaper will only see queries relating to his project.

Link to comment
Share on other sites

Only based on the first two posts of the topic's creator :

There are many working examples on the forum, if they don't work for you then you will have to check what's wrong.

getting the error TCPConnect failed with WSA error: 10061

Check that :

http://wiki.answers.com/Q/What_is_a_Socket_Error_10061

Br, FireFox.

Link to comment
Share on other sites

civilcalc,

I do something similar. Several machines, not networked, send data to my WEB site via FTP. One of the machines downloads this data periodically for processing, again using FTP. This was easily put togther using the FTP functions in AutoIT (I had no previous network experience).

I did this using the HELP file and forum examples. Start by putting together something to send data to your WEB site. Filezilla is an excellent tool for manual verification.

This is a function that I use for sending data. Get something together and we'll go from there.

Func FTPlog($lfn,$rfn)
Local $server = '**************'
Local $username = '*********'
Local $pass = '*********'
Local $Open = _FTP_Open('Samolyk FTP')
If $open = 0 Then
MsgBox(0,'Open Error',@error & @LF & _WinAPI_GetLastErrorMessage())
Exit
endif
Local $Conn = _FTP_Connect($Open, $server, $username, $pass)
If $conn = 0 Then
MsgBox(0,'Connect Error',@error & @LF & _WinAPI_GetLastErrorMessage())
exit
endif
Local $put = _FTP_FilePut($conn,$lfn,"/www/KLMS/" & $rfn)
If $put = 0 Then
MsgBox(0,'File Put Error',@error & @LF & _WinAPI_GetLastErrorMessage())
exit
EndIf
Local $Ftpc = _FTP_Close($Open)
If $ftpc = 0 Then
MsgBox(0,'FTP CLose Error',@error & @LF & _WinAPI_GetLastErrorMessage())
exit
EndIf
endfunc

Good Luck,

kylomas

Edited by kylomas

Forum Rules         Procedure for posting code

"I like pigs.  Dogs look up to us.  Cats look down on us.  Pigs treat us as equals."

- Sir Winston Churchill

Link to comment
Share on other sites

civilcalc,

I do something similar. Several machines, not networked, send data to my WEB site via FTP. One of the machines downloads this data periodically for processing, again using FTP. This was easily put togther using the FTP functions in AutoIT (I had no previous network experience).

I did this using the HELP file and forum examples. Start by putting together something to send data to your WEB site. Filezilla is an excellent tool for manual verification.

This is a function that I use for sending data. Get something together and we'll go from there.

Func FTPlog($lfn,$rfn)
Local $server = '**************'
Local $username = '*********'
Local $pass = '*********'
Local $Open = _FTP_Open('Samolyk FTP')
If $open = 0 Then
MsgBox(0,'Open Error',@error & @LF & _WinAPI_GetLastErrorMessage())
Exit
endif
Local $Conn = _FTP_Connect($Open, $server, $username, $pass)
If $conn = 0 Then
MsgBox(0,'Connect Error',@error & @LF & _WinAPI_GetLastErrorMessage())
exit
endif
Local $put = _FTP_FilePut($conn,$lfn,"/www/KLMS/" & $rfn)
If $put = 0 Then
MsgBox(0,'File Put Error',@error & @LF & _WinAPI_GetLastErrorMessage())
exit
EndIf
Local $Ftpc = _FTP_Close($Open)
If $ftpc = 0 Then
MsgBox(0,'FTP CLose Error',@error & @LF & _WinAPI_GetLastErrorMessage())
exit
EndIf
endfunc

Good Luck,

kylomas

Thanks!

I'll get to work ;-)

Link to comment
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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...