Programmera spel i C++ för nybörjare/Nätverksprogrammering
Nätverksprogrammering
redigeraAtt programmera för nätverk kan ställa programmeraren inför mängder med problem.
- Vilka portar kan användas?
- Har jag kontakt med internet?
- Kommer jag åt en databas?
- kan jag koppla en mac med en pc över det lokala nätverket?
Osv. Här nedanför följer några hjälprutiner, anpassade (tyvärr) främst för Windows, som kan hjälpa dig just när det gäller nätverk.
Ping
redigeraEtt enkelt sätt att se om man har kontakt med internet är kommandot "ping", i sin renaste form kan man skriva:
#include "stdafx.h" #include <stdlib.h> #include <iostream> int _tmain(int argc, _TCHAR* argv[]) { bool failed=false; failed = system("ping -n 1 www.example.com"); if (failed==true) {std::cout << "ingen kontakt"; } else {std::cout << "kontakt";} return 0; }
Du får upp en svart konsollruta med information om du fick kontakt eller ej. Kontakten gäller adressen "www.example.com" men får du kontakt med den adressen har du generellt kontakt med Internet. Kommandot ping har fler växlar än "-n" så det går att utöka så att det passar dina syften.
Ladda ner fil från Internet
redigeraIbland finns det ett behov av att ladda hem en specifik fil från Internet. Tyvärr finns det inga inbyggda kommandon för det, som t.ex. java har, men om du har en pc med Windows fungerar den här rutinen:
#include "stdafx.h" #include <stdlib.h> #include <iostream> #include <string> #include <tchar.h> #include <urlmon.h> #pragma comment(lib, "urlmon.lib") int main() { HRESULT hr = URLDownloadToFile ( NULL, _T("http://office.microsoft.com/sv-se/images/" ), _T("c:/Temp/web_page.txt"), 0, NULL ); //Första string = adress för nedladdning, andra = filnamn inkl sökväg dit där informationen skall sparas return 0; }