server1.java
来自「JAVA的一些基础教程」· Java 代码 · 共 58 行
JAVA
58 行
import java.io.*;
import java.net.*;
class Person{
int 年龄;
boolean 性别;
String 姓名;
public Person(String name,int age, boolean gender){
年龄= age;
性别 = gender;
姓名 = name;
}
public String toString(){
return "Person:"+姓名 + " 今年 " + 年龄 ;
}
}
class Server1{
//先读取一个字符串,然后再读四个字节的整数,最后是布耳类型
public static void 解析数据(byte bytes[]) throws Exception{
ByteArrayInputStream bis = new ByteArrayInputStream(bytes);
DataInputStream dis = new DataInputStream(bis);
String 姓名 = dis.readUTF();
int 年龄 = dis.readInt();
boolean 性别 =dis.readBoolean();
Person person = new Person(姓名,年龄,性别);
System.out.println("服务器收到一个Person对象" + person + "\n");
}
public static void main(String arg[]) throws Exception{
ServerSocket 服务端 = new ServerSocket(2000);
System.out.println("监听本机器的2000端口");
Socket 客户端 ;
客户端 = 服务端.accept();
System.out.println("一个客户端程序连上来了");
InputStream in = 客户端.getInputStream();
OutputStream out = 客户端.getOutputStream();
int 数据长度;
//先读取一个字节的数据作为后面数据的长度
while((数据长度 = in.read()) != -1){
byte 数据体[] = new byte[数据长度];
System.out.println("这个对象的数据长度:" + 数据长度);
System.out.println("再读取:" + 数据长度+ "字节的数据");
in.read(数据体);
解析数据(数据体);
}
in.close();
out.close();
客户端.close();
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?