added support for broadcasting to UDP sockets (patch 1740266)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47126 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2007-07-04 21:33:11 +00:00
parent bf511d579f
commit 60edcf4535
14 changed files with 180 additions and 23 deletions

View File

@@ -1105,6 +1105,12 @@ wxSocketServer::wxSocketServer(const wxSockAddress& addr_man,
if (GetFlags() & wxSOCKET_REUSEADDR) {
m_socket->SetReusable();
}
if (GetFlags() & wxSOCKET_BROADCAST) {
m_socket->SetBroadcast();
}
if (GetFlags() & wxSOCKET_NOBIND) {
m_socket->DontDoBind();
}
if (m_socket->SetServer() != GSOCK_NOERROR)
{
@@ -1275,6 +1281,14 @@ bool wxSocketClient::DoConnect(wxSockAddress& addr_man, wxSockAddress* local, bo
{
m_socket->SetReusable();
}
if (GetFlags() & wxSOCKET_BROADCAST)
{
m_socket->SetBroadcast();
}
if (GetFlags() & wxSOCKET_NOBIND)
{
m_socket->DontDoBind();
}
// If no local address was passed and one has been set, use the one that was Set
if (!local && m_localAddress.GetAddress())
@@ -1355,6 +1369,14 @@ wxDatagramSocket::wxDatagramSocket( const wxSockAddress& addr,
{
m_socket->SetReusable();
}
if (GetFlags() & wxSOCKET_BROADCAST)
{
m_socket->SetBroadcast();
}
if (GetFlags() & wxSOCKET_NOBIND)
{
m_socket->DontDoBind();
}
if ( m_socket->SetNonOriented() != GSOCK_NOERROR )
{
delete m_socket;