From b26fd4db949d4b212a33127c2b1356b9aa543772 Mon Sep 17 00:00:00 2001 From: zipplet Date: Fri, 23 Jan 2009 00:36:13 +0000 Subject: [PATCH] Fixed broadcast UDP sockets not working on windows git-svn-id: file:///svnroot/lcore/trunk@25 b1de8a11-f9be-4011-bde0-cc7ace90066a --- lsocket.pas | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lsocket.pas b/lsocket.pas index cfa1bd1..1dff390 100755 --- a/lsocket.pas +++ b/lsocket.pas @@ -193,6 +193,8 @@ begin if dgram then begin {$ifndef win32} SetSocketOptions(fdhandleout, SOL_SOCKET, SO_BROADCAST, 'TRUE', Length('TRUE')); + {$else} + SetSockOpt(fdhandleout, SOL_SOCKET, SO_BROADCAST, 'TRUE', Length('TRUE')); {$endif} state := wsconnected; if assigned(onsessionconnected) then onsessionconnected(self,0); @@ -377,11 +379,14 @@ begin if not udp then begin {!!! allow custom queue length? default 5} if listenqueue = 0 then listenqueue := 5; - If {$ifdef win32}winsock{$else}sockets{$endif}.Listen(fdhandlein,listenqueue)<>{$ifdef win32}0{$else}true{$endif} Then raise esocketexception.create('unable to listen'); + If {$ifdef win32}winsock{$else}sockets{$endif}.Listen(fdhandlein,listenqueue)<>{$ifdef win32}0{$else}true{$endif} Then raise +esocketexception.create('unable to listen'); state := wsListening; end else begin {$ifndef win32} SetSocketOptions(fdhandleout, SOL_SOCKET, SO_BROADCAST, 'TRUE', Length('TRUE')); + {$else} + SetSockOpt(fdhandleout, SOL_SOCKET, SO_BROADCAST, 'TRUE', Length('TRUE')); {$endif} state := wsconnected; end; -- 2.30.2