I want to develop an application which will act as a repeater between two computers in wireless network. for example if there are three computers in a wireless network A, B, and C, now if A wants to send some data to C, It sends it to B which then transfer it to C.
Now I know it can be done using sockets, but i also need to receive all the acknowledgement sent by C to A through B only, I can't find anything in socket to recieve ACKs.
So, I m confuse wether to use socket or some other APIs, may be some thing that communicate directly to the wireless adapter ????
Thank in Advance,
7 2245 tlhintoq 3,525
Recognized Expert Specialist
Do you really need to understand what is being sent?
In reality it is all just bytes. If you get a byte from a, send it to c. If you get a byte from c, send it to a. Whether it eventually gets converted to text or a picture or an ACK really doesn't matter if the only purpose of the 'b' computer is to be a repeater: just repeat the byte array you receive
Plater 7,872
Recognized Expert Expert
If you are talking about the TCP protocol's ACKs, then those are handled for you by the stack, just FIFO the bytes back and forth and you should be fine.
Dear tlhintoq,
First of all thanks for your reply,
Well I know i just need to transfer byte from A to c and c to a, but what is the problem is I also need to handle ack from both machines.
i. e. Suppose A is sending 5MB of data using TCP to C. It actually send it to B which will not send the ACK to A but only forwards it to C now C sends an ACK to B which forwards it to A.
I know sockets and winsock 2 API are used to transfer data from one machine to another but as far as I know they do not have any tools to send and recieve ACKs, the protocol used in transmission can be any not just TCP and "I need to store all the ACKs for further use as it is research project, we need every bit transfered need to be stored".
so if you can help then tell me if there is any free API that allows me to work at a level where I can recieve packets and ACKs intended to some other machine arriving at my wifi adapter and send it to desired machine by regenerating the packet.
Dear Plater,
Thanks for your reply,
I know TCP it self manages ACKs, and that my problem is I want to manage ACKs my self.
Consider the scenario, A is sending data to C through B, so what happens,
A will send data to B so B will send ACK(1) to A. now B will send data to C which again send ACK(2) to B Which again send it to A.
so for ACK I required three transfer if I use tools like socket or winsock API.
as handling ACKs is there duty and we can not tell Bs socket that wait until C send you a reply and after it reply you send it as reply to A.
Thanks again,
tlhintoq 3,525
Recognized Expert Specialist
An ack is nothing more than a hex 06 http://www.december.com/html/spec/ascii.html
So as you are repeating the bytes, check to see if the byte is a hex 06 and react how you like: Repeat it, log it "store it for future processing". Or if you feel it is being stripped out by TCP/ip protocol then add it back in.
i. e. Suppose A is sending 5MB of data using TCP to C. It actually send it to B which will not send the ACK to A but only forwards it to C now C sends an ACK to B which forwards it to A.
Right. You need the ACKs to be forwarded or you will never complete the 5mb transfer. After all that 5mb transfer is really going to be a lot of smaller packets each with their own ACKnowledgment. If the ACK is not received then the packet will be resent, and resent and resent until it is ACKnowledged.
Consider the scenario, A is sending data to C through B, so what happens,
A will send data to B so B will send ACK(1) to A. now B will send data to C which again send ACK(2) to B Which again send it to A.
So you are saying that your softreapeter is not going to repeat the data in real time? That it is buffering the data before it re-sends it? That is going to seriously impact the speed of the transmission from A to C.
thanx tlhintoq again for shwoing intrest in my thread,
yes my software repeater needs to buffer data regardless of performance consideration.
And please tell me what API should I use (Sockets, winsock kernel driver, windows filtering callout driver, network programming interface, NDIS or any other) to handle each and every packet and ACK from my softrepeater ???
I know all therotically, which is similar to what you are understanding and saying.
But, I m unaware of the programming tool to do it in C#, that's why I am asking it here.
Thanx again
tlhintoq 3,525
Recognized Expert Specialist
And please tell me what API should I use (Sockets, winsock kernel driver, windows filtering callout driver, network programming interface, NDIS or any other) to handle each and every packet and ACK from my softrepeater ???
I don't have a deep enough knowledge of all these different scheme to be able to give you advice on where one would be better than another.
Sign in to post your reply or Sign up for a free account.
Similar topics |
by: Jonathan Li |
last post by:
I have posted the question before but nobody have given me a solution. I
would like to rephrase my requirement and want to hear your advice.
We are developing application packages for logistics...
|
by: [b2:ss] |
last post by:
Can i distribute an application made with #develop under some
commercial license (sahreware)? The GNU license is valid for modifyed
versions of #develop source code only, or also for software made...
|
by: charliewest |
last post by:
I am somewhat confused with what tool i need to develop Web applications w/
ASP.NET 2.0. Is it possible to use VS .Net 2003, or do i need to use the Beta
versions of 2005 - Visual Web Developer...
|
by: Patrick |
last post by:
With VS.NET Standard (not VS.NET Professional).
Can i develop windows Services with this?
Also, can i develop components for .NET Remoting?
Currently I develop windows services with my VS.NET...
|
by: John A. Bailo |
last post by:
I've been following these guys for a while and use their GPL'd
ICSharpZip library quite a bit.
The #develop seems to be getting better and better.
http://icsharpcode.net/OpenSource/SD/
...
| |
by: ljgomez |
last post by:
Hi everyone
I just starting to develop in AJAX and I'm very interested in develop
over PHP & Javascript. My question is about witch tools do you use for
it. I'ven seen Zend Studio and someone...
|
by: Rainer Queck |
last post by:
Hi,
What would be the best way to develop a class library?
I am planing to develop a couple of classes, needed in our company
enviroment.
These classe will be later used in several projects.
...
|
by: Michael |
last post by:
I'm new to PHP, I already learned the basics of the language and built
some little app's for practice.
I have a critical dilemma, soon enough, I probably start to develop
real-world...
|
by: geshan |
last post by:
Lets see and compare the 4 ways (not tools) to develop/code your own
PHP website or web application. The following are the ways you can
code/develop your application (involving more Create Read...
|
by: Hystou |
last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
|
by: Oralloy |
last post by:
Hello folks,
I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>".
The problem is that using the GNU compilers,...
| |
by: Hystou |
last post by:
Overview:
Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
|
by: tracyyun |
last post by:
Dear forum friends,
With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
|
by: agi2029 |
last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
|
by: isladogs |
last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM).
In this session, we are pleased to welcome a new...
|
by: TSSRALBI |
last post by:
Hello
I'm a network technician in training and I need your help.
I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs.
The...
|
by: adsilva |
last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
| |
by: bsmnconsultancy |
last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence...
| |