Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7629743
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 31, 20262026-05-31T05:54:51+00:00 2026-05-31T05:54:51+00:00

I’ve recently discovered EventSource, YUI3 has a Gallery module to normalise and fallback behaviour,

  • 0

I’ve recently discovered EventSource, YUI3 has a Gallery module to normalise and fallback behaviour, that’s what I’ve chosen to go with in my example as I use that framework already.

So I’ve searched about quite a bit, read many blogs, posts and examples, all of which show pretty much the same thing: How to set up basic SSE events. I now have 6 examples of open/message/error/close events firing.

What I don’t have (what I’d hoped this link was going to give me) is an example of how to fire SSE events which are more useful to my application, I’m trying one called ‘update’.

Here’s is my basic test page: http://codefinger.co.nz/public/yui/eventsource/test.php (it might as well be an html file, there’s no php code in here yet)

And here’s the ‘message.php’ in the EventSource constructor:

<?php
header('Content-Type: text/event-stream');
header('Cache-Control: no-cache'); // recommended to prevent caching of event data.

/**
 * Constructs the SSE data format and flushes that data to the client.
 *
 * @param string $id Timestamp/id of this connection.
 * @param string $msg Line of text that should be transmitted.
 */
function sendMsg($id, $msg) {
  echo "id: $id" . PHP_EOL;
  echo "data: $msg" . PHP_EOL;
  echo PHP_EOL;
  ob_flush();
  flush();
}
while(true) {
  $serverTime = time();
  sendMsg($serverTime, 'server time: ' . date("h:i:s", time()));
  sleep(10);
}

// I was hoping calling this file with a param might allow me to fire an event,
// which it does dutifully, but no browsers register the 'data : update' - though
// I do see the response in Firebug.
if( $_REQUEST['cmd'] ){
    sendMsg($serverTime, $_REQUEST['cmd'] );
}
?>

From the live example above, you can see that I’ve tried to use YUI’s io module to send a request, with param, to fire my ‘update’ event when I click the ‘update’ button. It seems to work, as you can see in Firebug’s Net panel, but my event isn’t handled (I realise the script above will run that loop again, I just want to get my event handled in connected browsers, then I’ll remove/cleanup).

Am I doing this part wrong? Or is there something more fundamental I’m doing wrong? I’m trying to push events in response to my UI’s state changing.

This SO question seemed to come close, @tomfumb commented that his next question was going to be “how to send new events to the client after the initial connection is made – now I see that the PHP just has to never stop executing.” But surely I’d only send events as they happen… and not continuously…

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-31T05:54:52+00:00Added an answer on May 31, 2026 at 5:54 am

    there are several issues in your approach:

    1. The server-side code that reads the cmd parameter is unreachable because of the infinite loop that sends event data to the client.
    2. You are trying to send an event from the client to the server. It is in the specification name – Server-Sent Events – the server is the sender and the client is the receiver of events. You have options here:
      1. Use the appropriate specification for the job called Web Sockets which is a two-way communication API
      2. Write the logic that makes the desired type of communication possible

    If you choose to stay with the SSE API I see two possible scenarios

    1. Reuse the same Event Source connection and store a pool of connections on the server. When the user sends subsequent XMLHttpRequest with the update command, get the EventSource connection from the pool, that was made by this visitor, and send response with it that specifies your custom event type, the default type is message. It is important to avoid entering in the infinite loop that would make another EventSource connection to the client, but the client does not handle it because he made the request with XMLHttpRequest and not with EventSource.
    2. Make all requests with EventSource. Before making a new EventSource request, close the previous one – you can do this from the client or from the server. On the server check the parameters and then send data to client.

    Also you can use XMLHttpRequest with (long) polling and thus avoiding the need of using EventSource. Because of the simplicity of your example I can’t see a reason to mix the two type of requests.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm parsing an RSS feed that has an &#8217; in it. SimpleXML turns this
That's pretty much it. I'm using Nokogiri to scrape a web page what has
I've got a string that has curly quotes in it. I'd like to replace
link Im having trouble converting the html entites into html characters, (&# 8217;) i
I want to count how many characters a certain string has in PHP, but
I am trying to understand how to use SyndicationItem to display feed which is
Basically, what I'm trying to create is a page of div tags, each has
I have a string like this: La Torre Eiffel paragonata all&#8217;Everest What PHP function
I have a French site that I want to parse, but am running into
I want use html5's new tag to play a wav file (currently only supported

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.