Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 12:49

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



TCP+UDP socket

Discussion on TCP+UDP socket within the C/C++ forum part of the Coders Den category.

Reply
 
Old   #1
 
Tyrar's Avatar
 
elite*gold: 0
Join Date: Oct 2008
Posts: 1,637
Received Thanks: 1,119
TCP+UDP socket

ich müsste ein serversocket für tcp UND udp haben, der client sendet ein server check packet (udp), aber das eigentliche protkoll basiert auf tcp!

jemand ne idee wie ich so ein socket konfigurieren müsste, bzw. welchen socket typ ich nehmen müsste?
Tyrar is offline  
Old 05/02/2012, 14:57   #2
 
elite*gold: 5
Join Date: Sep 2006
Posts: 385
Received Thanks: 218
Das klingt ziemlich ungesund, wozu brauchst du denn sowas?

Aber ich denke du suchst nach IPPROTO_RAW. Habe ich selber nie getestet (deshalb kann ich dir hier auch nicht wirklich helfen), aber rein vom lesen her hast du damit direkten Zugriff bis zum IP-Header.
Nightblizard is offline  
Old 05/02/2012, 15:00   #3
 
Tyrar's Avatar
 
elite*gold: 0
Join Date: Oct 2008
Posts: 1,637
Received Thanks: 1,119
Quote:
Originally Posted by Nightblizard View Post
Das klingt ziemlich ungesund, wozu brauchst du denn sowas?

Aber ich denke du suchst nach IPPROTO_RAW. Habe ich selber nie getestet (deshalb kann ich dir hier auch nicht wirklich helfen), aber rein vom lesen her hast du damit direkten Zugriff bis zum IP-Header.
nunja, wenn ich einen voll funktionsfähigen emulator haben will muss da auch das query packet ankommen bzw. zurück gesendet werden

IPPROTO_RAW scheint aber interessant zu sein, ich werds mir mal anschauen
Tyrar is offline  
Old 05/04/2012, 15:07   #4
 
mydoom's Avatar
 
elite*gold: 0
Join Date: Dec 2007
Posts: 322
Received Thanks: 98
Kannst du nicht einfach zwei Sockets verwenden? Nimm ein TCP-Socket und ein UDP-Socket (beispielsweise auf Port 13337) und arbeite dann dein Protokoll ab.
mydoom is offline  
Old 05/04/2012, 15:58   #5
 
elite*gold: 1000
Join Date: Apr 2012
Posts: 1,003
Received Thanks: 208
Seit wann kann man Ports doppelt belegen? Wär mir neu
qkuh is offline  
Old 05/04/2012, 16:15   #6


 
Ende!'s Avatar
 
elite*gold: 1
Join Date: Feb 2009
Posts: 6,378
Received Thanks: 7,996
Quote:
Originally Posted by qkuh View Post
Seit wann kann man Ports doppelt belegen? Wär mir neu
Wenn man mit Raw-Socks arbeitet, also anstatt wie üblich auf Layer 4 (Transport) auf Layer 3 (Network) des OSI-Modells, ist es durchaus möglich Ports "doppelt zu belegen" (mit unterschiedlichen Transport-Protokollen), weil die Routinen, die unterschiedliche Protokolle unterschiedlich behandeln und dem bei der Verwendung gewöhnlicher Sockets im Wege stehen, ja von dir als Entwickler implementiert werden. Mir stellt sich allerdings die Frage weshalb jemand das wollen würde - warum nicht einfach zwei Ports verwenden, wie es jeder normale Mensch auch tut? (Post #3 überlesen)

Im Übrigen ist anzumerken, dass Raw-Socks AFAIK administrative Rechte erfordern.
Ende! is offline  
Thanks
1 User
Old 05/04/2012, 18:02   #7
 
Tyrar's Avatar
 
elite*gold: 0
Join Date: Oct 2008
Posts: 1,637
Received Thanks: 1,119
Quote:
Originally Posted by Ende! View Post
Wenn man mit Raw-Socks arbeitet, also anstatt wie üblich auf Layer 4 (Transport) auf Layer 3 (Network) des OSI-Modells, ist es durchaus möglich Ports "doppelt zu belegen" (mit unterschiedlichen Transport-Protokollen), weil die Routinen, die unterschiedliche Protokolle unterschiedlich behandeln und dem bei der Verwendung gewöhnlicher Sockets im Wege stehen, ja von dir als Entwickler implementiert werden. Mir stellt sich allerdings die Frage weshalb jemand das wollen würde - warum nicht einfach zwei Ports verwenden, wie es jeder normale Mensch auch tut? (Post #3 überlesen)

Im Übrigen ist anzumerken, dass Raw-Socks AFAIK administrative Rechte erfordern.
durch raw sockets wirds einfach nur noch etwas komplizierter als ich vor hatte

hätte zu anfang eher daran gedacht, einfach 2 sockets zu erstellen (1 tcp, 1 udp), mit recvfrom (nonblocking) versuchen daten zu empfangen.
anschließend der ganze tcp kram mit select,recv,accept usw.

schreib ich mir wohl besser direkt ne socket lib. ich denke, dass ich das noch öfter gebrauchen könnte

btw. admin rechte benötige ich sowieso
Tyrar is offline  
Reply




All times are GMT +1. The time now is 12:57.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.