Forked from harrisonhjones/SimpleJavaServer.java
Last active
August 29, 2015 14:16
-
-
Save hpssjellis/2156aac3d31479d6c9f1 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* Includes ------------------------------------------------------------------*/ | |
#include "application.h" | |
TCPClient client; | |
byte server[] = { 10, 0, 0, 40 }; // PUT YOUR SERVER'S IP HERE! | |
void setup() | |
{ | |
// Make sure your Serial Terminal app is closed before powering your Core | |
Serial.begin(9600); | |
// Now open your Serial Terminal, and hit any key to continue! | |
while(!Serial.available()) SPARK_WLAN_Loop(); | |
Serial.println("connecting..."); | |
if (client.connect(server, 6000)) | |
{ | |
Serial.println("connected"); | |
client.println("Hello from the SparkCore!"); | |
} | |
else | |
{ | |
Serial.println("connection failed"); | |
} | |
} | |
void loop() | |
{ | |
if (client.available()) | |
{ | |
char c = client.read(); | |
Serial.print(c); | |
} | |
if (!client.connected()) | |
{ | |
Serial.println(); | |
Serial.println("disconnecting."); | |
client.stop(); | |
for(;;) SPARK_WLAN_Loop(); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package simplejavaserver; | |
import java.net.*; | |
import java.io.*; | |
public class SimpleJavaServer extends Thread | |
{ | |
private ServerSocket serverSocket; | |
public SimpleJavaServer(int port) throws IOException | |
{ | |
serverSocket = new ServerSocket(port); | |
//serverSocket.setSoTimeout(10000); // By commenting out the timeout the server will wait for the client forever! | |
} | |
public void run() | |
{ | |
while(true) | |
{ | |
try | |
{ | |
// Let the user know we are waiting for a client | |
System.out.println("Waiting for client on " + | |
Inet4Address.getLocalHost().getHostAddress() + ":" + | |
serverSocket.getLocalPort() + "..."); | |
// Wait for a new client. Hang until a new one connects | |
Socket server = serverSocket.accept(); | |
//DataInputStream in = new DataInputStream(server.getInputStream()); | |
BufferedReader din = new BufferedReader(new InputStreamReader(server.getInputStream())); | |
DataOutputStream out = new DataOutputStream(server.getOutputStream()); | |
// Let the user know we have accepted a client | |
System.out.println("Just connected to " + server.getRemoteSocketAddress()); | |
// Let the user know what the client sent | |
System.out.print("Client: "); | |
System.out.println(din.readLine()); | |
// Send the welcome message to the client | |
System.out.println("Sending welcome messsage"); | |
out.writeChars("Thank you for connecting to " + server.getLocalSocketAddress() + "\nGoodbye!"); | |
// Close the connection the client so we can listen for new cients | |
server.close(); | |
}catch(SocketTimeoutException s) | |
{ | |
System.out.println("Socket timed out!"); | |
break; | |
}catch(IOException e) | |
{ | |
e.printStackTrace(); | |
break; | |
} | |
} | |
} | |
public static void main(String [] args) | |
{ | |
int port = 6000; | |
try | |
{ | |
Thread t = new SimpleJavaServer(port); | |
t.start(); | |
}catch(IOException e) | |
{ | |
e.printStackTrace(); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment