Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- require "server.php"; // I called the socket server file this
- $clients = array();
- function onConnection ($client, $server) {
- global $clients;
- $clients[$client] = false;
- $server -> send($client, "Please enter your name: ");
- }
- function onClose ($client, $server) {
- global $clients;
- $name = $clients[$client];
- unset($clients[$client]);
- if ($name === false) return; // if it never gave us a name, we don't care
- $server -> broadcast("$name disconnected", 0, SERVER_SEND_LINE_CRLF);
- }
- function onMessage ($message, $client, $server) {
- global $clients;
- if ($clients[$client] === false) {
- $clients[$client] = $message; // first message is the name
- $server -> broadcast("$message connected", - $client, SERVER_SEND_LINE_CRLF);
- // and we tell everyone else this person connected
- return;
- }
- $name = $clients[$client];
- $server -> broadcast("$name: $message", - $client, SERVER_SEND_LINE_CRLF);
- // we send the message to everyone but the guy who sent it
- }
- function setupServer () {
- $server = new Server();
- $server -> splitMode = SERVER_SPLIT_NEWLINES_NO_BLANKS; // we split on Enters
- $server -> openCallback = "onConnection";
- $server -> closeCallback = "onClose";
- $server -> receiveCallback = "onMessage";
- return $server;
- }
- $myServer = setupServer();
- $myServer -> open(46464); // choose any port you like
- ?>
Advertisement
Add Comment
Please, Sign In to add comment