Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 26 Jun 1999 17:22:33 +0200 (METDST)
From:      Michal Przybylski <michalp@man.poznan.pl>
To:        questions@freebsd.org
Subject:   RE: IP_HDRINCL, TOS, SOCKET_RAW (fwd)
Message-ID:  <Pine.SGI.3.95.990626171914.16525A-100000@rose.man.poznan.pl>

next in thread | raw e-mail | index | archive | help

Question that i've forwarded is about linux. but i think that
solution from freebsd should work either. 
perhaps anyone have any idea?

thanx 
	michal

Michal Przybylski
Poznan Supercomputing & Networking Center
Poland
email: michalp@man.poznan.pl                
tel. +48601567947                        


---------- Forwarded message ----------
Date: Sat, 26 Jun 1999 17:08:23 +0200
From: Serge Wagener <serge.wagener@ist.lu>
To: Michal Przybylski <michalp@man.poznan.pl>
Subject: RE: IP_HDRINCL, TOS, SOCKET_RAW

*This message was transferred with a trial version of CommuniGate(tm) Pro*
Hi !

Thanks for your answer !

I personally use LINUX and Windows NT (and Win98 for gaming ;-) )
The problem is the project should run on Windows. I have one piece of
sofware (transceiver) which run on two different computers and send packets
one to the other. The second piece of software is a GUI that runs on a third
computer and communicates with the two transceivers. Since the transceier is
only a console app written in MS C i converted it (last night ;-) ) to linux
gnu C (the thread part was a bit harder). Now i try to convince my
supervisor (next monday) to accept running the console transceiver part on a
linux bootdisk.... The workstation can have windows installed, just reboot
with the disk in the drive ...

Sound fine, but i have a problem under LINUX which didn't appear on Windows:

I Have 8 threads for receiving, each one on another port (2000 -> 2007, UDP)
and
one thread for sending which also switches between port 2000 and 20007. That
means on every port (2000 - 2007) there are two sockets connected. I use
setsockopt to set the SO_REUSEADDR to 1 before each bind. the problem is
there is NO error, the send thread sends on every port but the receive part
doesn't receive anything ...

I have to bind both sockets because i have to send from port 2000 to port
2000, 2001 to 2001, ... and vice versa (both transceivers send together to
simulate a full duplex RTP transmission)..

Do you know where the problem could be ?

Can i open a global socket in my main() and have a thread hanging in a
recvfrom() while another thread is sending with sendto() on the same socket
? (i know it's not the way to do it, but if it works ... time is running out
!!!)

Serge




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.SGI.3.95.990626171914.16525A-100000>