Skip to content

Commit

Permalink
Updated ChatServer
Browse files Browse the repository at this point in the history
  • Loading branch information
Tom Igoe committed Mar 12, 2012
1 parent 34d7925 commit 7f11df1
Showing 1 changed file with 24 additions and 13 deletions.
37 changes: 24 additions & 13 deletions libraries/Ethernet/examples/ChatServer/ChatServer.ino
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
created 18 Dec 2009
by David A. Mellis
modified 10 August 2010
modified 12 March 2012
by Tom Igoe
*/
Expand All @@ -23,14 +23,16 @@
// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network.
// gateway and subnet are optional:
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte mac[] = {
0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192,168,1, 177);
IPAddress gateway(192,168,1, 1);
IPAddress subnet(255, 255, 0, 0);


// telnet defaults to port 23
EthernetServer server(23);
boolean gotAMessage = false; // whether or not you got a message from the client yet
boolean alreadyConnected = false; // whether or not the client was connected previously

void setup() {
// initialize the ethernet device
Expand All @@ -39,25 +41,34 @@ void setup() {
server.begin();
// open the serial port
Serial.begin(9600);
Serial.print("Chat server address:");
Serial.println(Ethernet.localIP());
}

void loop() {
// wait for a new client:
EthernetClient client = server.available();

// when the client sends the first byte, say hello:
if (client) {
if (!gotAMessage) {
if (!alreadyConnected) {
// clead out the input buffer:
client.flush();
Serial.println("We have a new client");
client.println("Hello, client!");
gotAMessage = true;
alreadyConnected = true;
}

if (client.available() > 0) {
// read the bytes incoming from the client:
char thisChar = client.read();
// echo the bytes back to the client:
server.write(thisChar);
// echo the bytes to the server as well:
Serial.write(thisChar);
}

// read the bytes incoming from the client:
char thisChar = client.read();
// echo the bytes back to the client:
server.write(thisChar);
// echo the bytes to the server as well:
Serial.print(thisChar);
}
}



0 comments on commit 7f11df1

Please sign in to comment.