Author |
Topic: UDP support (Read 396 times) |
|
movr0r0
New Member
member is offline


Posts: 6
|
 |
Re: UDP support
« Reply #4 on: Nov 29th, 2017, 4:48pm » |
|
Hi Richard, sorry for this slow update;
So I have amended BB4W SOCKLIB library with a few simple things, mostly UDP client/server additions, as well as a few things concerning TCP -- taking care however to keep it fully backwards compatible with the stock version (and to use look-alike naming for added functions .
Basically, additions are: REM FN_tcplistenM(host$,port$,backlog) Create a TCP/IP listening socket (with backlog, i.e. allows multiple connections requests) REM FN_checkconnectionM(socket) Check for a connection request and actually connects client (and leave listening socket open for more connections) REM FN_udpsocketS(host$,port$) Create a UDP/IP service socket (explicit bind, server application) REM FN_udpsocketC(host$,port$) Create a UDP/IP service socket (implicit bind, client application) REM FN_readsocketfrom(skt,buf,len,sockaddrbuf,sockaddrbuflen) Read max 'len' bytes to addr 'buf' from 'skt', and get peer's details REM FN_writesocketto(skt,buf,len,sockaddrbuf,sockaddrbuflen) Write max 'len' bytes at addr 'buf' to 'skt', specifying peer
I am not sure if you want me to send you the source code, or how to submit this new version. Let me know.
Ah, by the way, is there a better (shorter) way to get the base address of a structure than actually getting the address of its very first member?
|
|
Logged
|
|
|
|
Richard Russell
Administrator
member is offline


Posts: 803
|
 |
Re: UDP support
« Reply #5 on: Nov 29th, 2017, 6:47pm » |
|
on Nov 29th, 2017, 4:48pm, movr0r0 wrote:| I am not sure if you want me to send you the source code |
|
Please do. As I mentioned before, SOCKLIB is one of the oldest libraries and contains 'obsolete' code so will need some attention before a new version could be released. I also want to keep the BBCSDL version of SOCKLIB 'in phase' with the BB4W version, so that implies the addition of compatible UDP functions to the former.
Quote:| is there a better (shorter) way to get the base address of a structure than actually getting the address of its very first member? |
|
If I'm understanding the question, is there some reason why you're not simply using struct{} ?
http://www.bbcbasic.co.uk/bbcwin/manual/bbcwin2.html#structapi
Richard.
|
|
Logged
|
|
|
|
movr0r0
New Member
member is offline


Posts: 6
|
 |
Re: UDP support
« Reply #6 on: Dec 4th, 2017, 1:28pm » |
|
Hello Richard.
no, there is no (admittable) reason why I haven't used struct{} 
I'll email you the amended SOCKLIB.BBC library in a few minutes.
Cheers, Phil.
|
|
Logged
|
|
|
|
|