我試圖做一個非常簡單的scala套接字程序,它可以「回顯」它從多個客戶端收到的任何輸入信息。簡單的scala套接字程序 - 只與一個客戶端通信?
此程序可以工作,但僅適用於單個客戶端。我想這是因爲執行總是在while(true)
環
import java.net._
import java.io._
import scala.io._
//println(util.Properties.versionString)
val server = new ServerSocket(9999)
println("initialized server")
val client = server.accept
while(true){
val in = new BufferedReader(new InputStreamReader(client.getInputStream)).readLine
val out = new PrintStream(client.getOutputStream)
println("Server received:" + in) // print out the input message
out.println("Message received")
out.flush
}
我已經試過
使這一修改
while(true){
val client = server.accept
val in = new BufferedReader(new InputStreamReader(client.getInputStream)).readLine
val out = new PrintStream(client.getOutputStream)
println("Server received:" + in)
}
但是,除了「回聲」荷蘭國際集團出單這一點兒也不工作消息
我想多個客戶端連接到套接字,並不斷接收他們所輸入的任何輸出
我認爲你應該使用第二個選項,但要accept'後'代碼是未來「代碼塊的一部分與其他循環。 –
@GáborBakos你可以請添加一個代碼片段。這將幫助我以及..謝謝:) – wolfgang