socketconnection.scala
来自「JAVA 语言的函数式编程扩展」· SCALA 代码 · 共 54 行
SCALA
54 行
/* __ *\** ________ ___ / / ___ Scala API **** / __/ __// _ | / / / _ | (c) 2002-2007, LAMP/EPFL **** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ **** /____/\___/_/ |_/____/_/ | | **** |/ **\* */// $Id: SocketConnection.scala 14416 2008-03-19 01:17:25Z mihaylov $package scala.tools.utilimport java.io.{PrintWriter, InputStreamReader, BufferedReader}import java.io.IOExceptionimport java.net.{Socket, InetAddress}import java.net.UnknownHostException/** This class implements the connection to the server. * * @author Martin Odersky * @version 1.0 */class SocketConnection(hostname: String, port: Int) { def this(port: Int) = this(InetAddress.getLocalHost().getHostName(), port) private var socket: Socket = _ var out: PrintWriter = _ var in: BufferedReader = _ var errorMessage: String = _ def open(): Boolean = { try { socket = new Socket(hostname, port) out = new PrintWriter(socket.getOutputStream(), true) in = new BufferedReader(new InputStreamReader(socket.getInputStream())) true } catch { case e: UnknownHostException => errorMessage = "Don't know about host: " + hostname + "." false case e: IOException => errorMessage = "Couldn't get I/O for the connection to: " + hostname + "." false } } def close() { in.close() out.close() socket.close() }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?