scala socket通信、client端发送数据为对象,server端接收对象数据
Scala进行socket 通信时,采用的是 java中的I/O类。如果需要在网络中传递对象,实际上传递对象所表示的字节码数据()java实体类client端在发送对象数据时,需要使用server端在接收对象时,需要使用...
·
Scala进行socket 通信时,采用的是 java中的I/O类。如果需要在网络中传递对象,实际上传递对象所表示的字节码数据(对象需要序列化
)
java实体类
public class User implements Serializable {
public static int age=10;
static{
System.out.println("user ");
}
}
client端在发送对象数据时,需要使用对象输出流
object TestClient {
def main(args: Array[String]): Unit = {
val socket = new Socket("127.0.0.1",9999)
//向服务端发送数据,如果要在网络中传输对象,需要使用对象输出流
val outputStream = new ObjectOutputStream(socket.getOutputStream)
val user = new User
outputStream.writeObject(user)
outputStream.close()
socket.close()
}
}
server端在接收对象时,需要使用对象输入流
object TestServer {
def main(args: Array[String]): Unit = {
val serverSocket = new ServerSocket(9999)
println("服务器启动,等待客户端连接")
//accept方法 如果没有客户端连接,则处于阻塞状态,直至客户端连接上
val client = serverSocket.accept()
//服务端接收对象,需要使用对象输入流
val inputStream = new ObjectInputStream(client.getInputStream)
val data = inputStream.readObject()
printf("服务端接收到数据: %s", data)
inputStream.close()
serverSocket.close()
}
}
更多推荐
已为社区贡献7条内容
所有评论(0)