Mi©®os∞ft
Mar 30 2008, 12:37 AM
Just started a serious approach that I am going to create a simple PC(server app) <-> Xbox1(listener) TCP sockets based; in 30 days.
Will report progress as I achieve something noteworthy.
ressurectionx
Mar 30 2008, 01:45 PM
Hey man. I'm a dummy and I don't even know what that is or what it does, but it's great to see other coders out there. Good luck on your project.
~Rx
Mi©®os∞ft
Apr 2 2008, 09:54 PM
Just wondering:
Can TCP work without ICMP and ARP?

I am not very deep into how protocols work.
openxdkman
Apr 4 2008, 11:10 AM
physically machines only know each other thanks to their mac adresses
they also know their ip address by that's software
arp protocol is the way machines ask other machines "I'm looking for ip address n.n.n.n, are you there?"
The reply is "yes I'm here. Btw this is my mac adress, remember it"
Then machines store the couples (mac adress<->ip addresses),
because without mac adress packets aren't reaching their target
packets received are filtered at hardware level thanks to mac address
packets received are filtered at software level thanks to ip address
icmp (if I remember well) is protocol that assumes couples ma/ip are set and used to transfert the real things, that is ip packets with data inside, eventually cut in several packets. I would say a normal ip packet is a subset of imcp packet, but I may be wrong. you have to read some rfc's to have a clear view of all this stuff. look for rfcNNNN.txt text files (norms, standards) in rfc repositories on internet (often barely a directory you can explore through ftp).
so yes, you need arp.
Mi©®os∞ft
Apr 8 2008, 09:56 PM
Is this Fragmentation support really required? For now, Can I get that crap out of the source?
[would it cause a huge hit in performance?]
What about intel16 and intel stuff, is it required? big endian <-> little endian conversion... Is it required?
Thanks
openxdkman
Apr 9 2008, 08:16 PM
pc & xbox1 are intel based
that means your get least significant byte first in structure if you just declare the area in the structure as a long (or longword, or dword or u32 whatever). it's of course a possible source of mistake.
if rfc tells msb (most significan byte) first then that's mean you have to reverse bytes order.
but the worst trap is when compiler decides (without telling you) to add padding bytes in structure to align stuff...
with a packet analyser you can discover such horrible mess.
there are also compilations directive that prevent compiler to touch your structure definition.
I turned fragmentation off also with my first attempts. Then I put it back but never verified what it did.
Probably doesn't change a lots... but I may be wrong.