![]() |
[VB6] Client/server
Ik ben nu aan het proberen een spelletje aan het maken voor een thuisnetwerk. Het probleem is dat 1 comp XP heeft draaien en Winsock (dus) problemen kent.
Ik heb al iets geprobeerd met textfiles versturen naar elkaar en dat moet lukken... maar het is lastig om elke keer IPs in te gaan voeren dus ik had al geprobeerd om een soort IPcheck systeem met error-trapping te maken, maar dat gaat te langzaam. Kan iemand me helpen..? Een voorbeeldprog/game zou zeer welkom zijn.. Bvd Marijn |
IPcheck systeem met error trapping? :confused: ik snap het niet echt
wat bedoel je nou? kan je niet gewoon via TCP communiceren omdat XP een andere winsock heeft ofzo? :confused: |
Ik snap ook niet waar je het over hebt. Je neemt gewoon MSWINSCK.OCX en gebruikt dat om een TCP/IP connectie op te zetten (?)
Text files?!? WinXP kan, net als andere windows, voor zover ik weet ook gewoon gebruik maken van MSWINSCK.OCX |
je kan vanuit VB toch ook gewoon de meeste API calls aanroepen? dus ook winsock calls zonder van ActiveX controls ofzo gebruik te maken? in dat geval staan er meer dan genoeg voorbeelden op internet :)
|
Citaat:
|
Citaat:
|
Citaat:
winsock1.remotehost="computer adres" winsock1.remoteport=[poortnummer] winsock1.connect winsock1.senddata "blah" .. dat soort stuff. En de andere computer doet gewoon winsock1.localport=[poortnummer] winsock1.listen enzo. UDP gaat zelfs nog makkelijker want dan hoef je niet een connectie te leggen. Daar is het gewoon kwestie van een port binden,remoteIP en poort meegeven en dan gewoon lekker data versturen. Maar ja, je weet dan niet of het aankomt. Als er data aankomt word er een event getriggered. Winsock1_receivedData enzo. |
Ik heb met API's wel is pings gedaan, en ook wel is bestanden opgehaald van Inet, maar het nadeel was dat terwijl de api bezig was, je hele programma bevroren was. :S
Ik weet niet of dat ook zo is met wat jij bedoelt. |
ja ok, dan moet je OF de netwerkoperaties in een aparte thread uitvoeren, OF je moet non blocking calls gebruiken... die ActiveX control maakt natuurlijk onderwater ook gebruik van de API, alleen die regelt dat allemaal voor je
|
*deelt nog even tussen de regels door mede dat deze jongen toch wel een beginner is in Visual Basic.*
Ok eerst had ik dus geprobeerd om met Winsock (gewoon) data naar elkaar te versturen en leek er geen probleem te zijn. Tot ik het programma testte op een WinXP systeem en die gaf de melding geen mswinsck.ocx te kunnen vinden. OK, ik een setup gemaakt zodat alle benodigde files wel geinstalleerd zouden worden. Toen was het probleem dat de ene computer files kon verzenden wat ie wou, bij de andere werd geen Winsock1_receivedata of iets dergelijks getriggered en dus ook geen data ontvangen. Winsock werkte dus niet en waarom? dat kunnen jullie mij misschien vertellen... Dus bedacht ik een alternatief en dat is om doodleuk de variabelen die verzonden moesten worden op te slaan in het bestand "\\<IP van andere comp>\\c\spelletje\transfer.txt" Deze comp kan dat inlezen en zo gaat ie verder. Op deze manier is het best te doen zo is gebleken. Om te voorkomen dat je de hele tijd IPs aan elkaar moet gaan vertellen had ik dan een soort IPcheck progje gemaakt dat ik dacht dat wel zou werken. Dat gaat als volgt: IPs in een netwerk hebben altijd dezelfde basis (de twee eerste getallen zijn gelijk) en de laatste twee getallen zitten (altijd toch??) tussen 0 en 400. Dus voer je een bewerking uit op een bepaald IP waarvan je wilt weten of hij bestaat zoals Dir() of FileCopy() en indien dat IP niet bestaat zal er een error ontstaan. Het programma gaat naar de ErrorHandler als de IP niet bestaat (check volgende IP) en gaat verder met het programma als het niet bestaat (sla IP op en check volgende IP). Het probleem hiermee was dat de ene keer het redelijk snel ging, maar meestal duurde het even voordat de error werd gegeven en dan duurt 16000 errors wel erg lang... Maar goed... dit is dus allemaal geknutsel van iemand die er weer geen verstand van heeft... Iemand een oplossing voor het winsock probleem of een voorbeeldprogramma dat communiceert tussen twee comps? Bvd |
Citaat:
en zowieso zijn alle getallen nooit hoger dan 255 |
Ik heb geen problemen ondervonden met winsock onder XP.
Maar ik had over het algemeen een probleem met XP en zit gewoon weer fijn op W2K. *snapt niet dat die toch zoveel mensen op XP ziet zitten zonder problemen* |
Citaat:
|
Ik heb al best veel met winsock gedaan.
Check ff of je de data naar de goede poort zendt, dwz. dat de sender dezelfde poort moet hebben als de receiver. |
Citaat:
|
Moeten ze dezelfde poort gebruiken? of gewoon dat de client naar de oipen poort van de server connect?
|
Citaat:
en dat kan je zelf instellen meestal als je een thuisbnettwerk hebt |
Citaat:
meeste hebben 192.168.xxx.xxx of 10.xxx.xxx.xxx En zoals je zegt, kun je zelf instellen :) |
Citaat:
|
Citaat:
|
Alle tijden zijn GMT +1. Het is nu 13:16. |
Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.