Mischien dat een paar mensen dit al bekend voorkomt van NLDelphi (http://www.nldelphi.com/Forum/showthread.php?t=21807), maar daar kom ik op dit moment niet verder. Hopelijk dat iemand anders nog hulp kan bieden.
Ik heb eigenlijk 2 problemen.
1: Ik kan de verstuurde data niet waarnemen met PortMon. Ik gebruik de "Inpout32.dll" plugin. Ik heb een computer met 2000 verbonden met een computer met 98. Ik kan op beide de data niet zien langskomen. (ik gebruik natuurlijk de juiiste versie van PortMon op het juiste systeem)
Ook als ik de oude manier gebruik van verzenden/ontvangen (assembly code) op de 98 bak(op 2000 mag dat niet meer) dan zie ik dezelfde data weer terug in mijn testprogramma. Maar PortMon ziet echter niets.
Weet iemand hoe dit komt, of een ander programma die wel data kan monitoren? Ik wil namelijk de data van een ander proces onderscheppen.
2: Met beide bovenstaande genoemde manieren kan je maar 1 integer verzenden. Hoe moet ik dan bijvoorbeeld een String verzenden? Zouden 2 timers (1 voor het verzenden en 1 voor het ontvangen) voldoende zijn? Maar hoe weet ik dan dat ze tegelijk starten. Ik zou zeggen laat de ontvanger net wat sneller draaien om geen pakketjes te missen. Maar dan heb je weer kans dat je pakketjes dubbel waarneemt.
Daar is vast wel een oplossing voor te vinden. Maar dan ben ik bang dat je een heel protocol moet schrijven en pakketjes moet gaan nummeren etc. (net als tcp) maar dant word het echt teveel werk.
Het lijkt me toch dat Windows die poorten wel doet pollen? En dan een event moet kunnen geven? Eventueel met error controle al erin gebouwd.
ps: de bovengenoemde code voorbeeldjes zijn op het NLDelphi forum te downloaden.
Ik heb eigenlijk 2 problemen.
1: Ik kan de verstuurde data niet waarnemen met PortMon. Ik gebruik de "Inpout32.dll" plugin. Ik heb een computer met 2000 verbonden met een computer met 98. Ik kan op beide de data niet zien langskomen. (ik gebruik natuurlijk de juiiste versie van PortMon op het juiste systeem)
Ook als ik de oude manier gebruik van verzenden/ontvangen (assembly code) op de 98 bak(op 2000 mag dat niet meer) dan zie ik dezelfde data weer terug in mijn testprogramma. Maar PortMon ziet echter niets.
Weet iemand hoe dit komt, of een ander programma die wel data kan monitoren? Ik wil namelijk de data van een ander proces onderscheppen.
2: Met beide bovenstaande genoemde manieren kan je maar 1 integer verzenden. Hoe moet ik dan bijvoorbeeld een String verzenden? Zouden 2 timers (1 voor het verzenden en 1 voor het ontvangen) voldoende zijn? Maar hoe weet ik dan dat ze tegelijk starten. Ik zou zeggen laat de ontvanger net wat sneller draaien om geen pakketjes te missen. Maar dan heb je weer kans dat je pakketjes dubbel waarneemt.
Daar is vast wel een oplossing voor te vinden. Maar dan ben ik bang dat je een heel protocol moet schrijven en pakketjes moet gaan nummeren etc. (net als tcp) maar dant word het echt teveel werk.
Het lijkt me toch dat Windows die poorten wel doet pollen? En dan een event moet kunnen geven? Eventueel met error controle al erin gebouwd.
ps: de bovengenoemde code voorbeeldjes zijn op het NLDelphi forum te downloaden.