Skip to content

Instantly share code, notes, and snippets.

@DeepSky8
Last active August 29, 2015 14:10
Show Gist options
  • Select an option

  • Save DeepSky8/675590b8d71f844bcdd4 to your computer and use it in GitHub Desktop.

Select an option

Save DeepSky8/675590b8d71f844bcdd4 to your computer and use it in GitHub Desktop.
Server Socket Pancakes
object Listen {
import java.net._
import java.io._
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
def Listen(): Unit = {
val doorbell = new Thread(new Runnable {
val request = new ServerSocket(80)
override def run(): Unit = {
while(true) {
val doorway = request.accept
Spawn(doorway)
}
}
})
doorbell.start()
}
def Spawn(doorway: Socket): Unit = {
val answer = new Thread(new Runnable {
override def run(): Unit = {
if (doorway != null) {
val talkToMe = doorway.getOutputStream()
talkToMe.write("What is your name?".getBytes)
val user = new BufferedReader(new InputStreamReader(doorway.getInputStream()))
val name = user.readLine()
talkToMe.write(("Hello, " + name).getBytes)
doorway.close
}
}
})
answer.start
}
def main(args: Array[String]): Unit = {
Listen
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment