网络通信框架——KyroNet示例
简介
使用方式
<repositories>
<repository>
<id>clojars</id>
<url>http://clojars.org/repo/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>kryonet</groupId>
<artifactId>kryonet</artifactId>
<version>2.21</version>
</dependency>
</dependencies>
public class RequestProtocal {
public int id;
public String name;
public String address;
}
public class ResponseProtocal {
public int code;
public String content;
}
Server server = new Server();
Kryo kryo = server.getKryo();
kryo.register(RequestProtocal.class);
kryo.register(ResponseProtocal.class);
server.start();
server.bind(54555, 54777);
server.addListener(new Listener() {
public void received (Connection connection, Object object) {
if (object instanceof RequestProtocal) {
RequestProtocal request = (RequestProtocal)object;
System.out.println(request.name);
ResponseProtocal response = new ResponseProtocal();
response.code = 123;
response.content = "Hello World!";
connection.sendTCP(response);
}
}
});
Client client = new Client();
Kryo kryo = client.getKryo();
kryo.register(RequestProtocal.class);
kryo.register(ResponseProtocal.class);
client.start();
client.connect(5000, "192.168.0.1", 54555, 54777);
RequestProtocal request = new RequestProtocal();
request.id = 1;
request.name = "xiaowang";
request.address = "BeiJing";
client.sendTCP(request);
client.addListener(new Listener() {
public void received (Connection connection, Object object) {
if (object instanceof ResponseProtocal) {
ResponseProtocal response = (ResponseProtocal)object;
System.out.println(response.content);
}
}
});