allinurl/gwsocket

Is it possible to Publish data from REDIS instead of file ?

KabDeveloper opened this issue · 9 comments

Hi,

I want to send data from REDIS server to the websocket server and then post to BROWSER.

Is it possible instead of using a file ?

What is the part of the code responsible to read the file and send the data to client ?

Last thing, can i compile it in WINDOWS ?

WSS secured connection supported ?

Thank's in advance.

You should be able to. But it depends how redis outputs its data. gwsocket simply uses a file descriptor, so you could handle it differently in here. Do you know how redis outputs the results? If you could pipe the results of a command then you are golden...

Thank you for your answer !

I think it's possible to implement REDIS using your script, here is the REDIS client in C:
https://github.com/EulerianTechnologies/eredis
OR one of this clients:
https://redis.io/clients#c

Since my level in C is very low, it would be possible to catch new entered values on REDIS using this code in PHP:

$r = new Redis();
$r->connect("127.0.0.1", "6379");

while(true){
    while($xdata = $r->spop("data_pipe")){
        $data = unserialize($xdata);

        // Send the data
        // Here a code to send the data to client's browser
    }

    // No more data
    sleep(30);
}

What is the part of your code that is responsible to read the file and return the LINE & Send it ?

Thank you again

If you want to handle this with PHP, you could keep doing what you are doing and output the data in PHP to the gwosocket fifo. It should work fine. Please take a look at these examples

I already checked that, but fetching datas from REDIS and then writting them each time to a file will take more time than returning them directly from REDIS to websocket.

Since there a way doing it in C then i bet on this, i need only to identify the part of code responsible to:
1- Read the file line by line
2- The code that return the line and then send it to websocket

There will be many users interested on this combination, with small help i will be able to achieve this and post it here or in a fork.

Thank's :)

It's all in here. Reads, writes and accept. Let me know how it goes. Thanks.

Thank you for your help !

Last question please, when your script read the lines from the file ... do it remove the lines when it send it to the clients ?

Yes it does that automatically.

What is the line responsible for doing that please ?

What if new lines added while he is sending to clients ? There will be no disfunction or no error ?

What is the line responsible for doing that please ?

https://github.com/allinurl/gwsocket/blob/master/src/websocket.c#L532

What if new lines added while he is sending to clients ? There will be no disfunction or no error ?
It will handle that just fine.