JS>> jsc>> 返回
项目作者: genoapp

项目描述 :
java server client lib
高级语言: Java
项目地址: git://github.com/genoapp/jsc.git
创建时间: 2019-01-28T12:56:00Z
项目社区:https://github.com/genoapp/jsc

开源协议:Apache License 2.0

下载


Server-Client

java Server and Client

Demo Server:

  1. public class DemoServer {
  2. public static void main(String[] args) throws IOException{
  3. Server<Person> server = new Server<>(Person.class,null,null);
  4. server.addPacketListener(10, new PacketListener<Person>() {
  5. @Override
  6. public void readPacket(Person client, Packet packet) {
  7. client.print(packet.readString());
  8. client.sendPacket(packet.clear().writeString("Received message Time: "+Long.toString(Calendar.getInstance().getTimeInMillis())).flip());
  9. }
  10. });
  11. server.open(new InetSocketAddress(9090));
  12. }
  13. public static class Person extends AbstractClient<Person>{
  14. public Person(Server<Person> server, SelectionKey selectionKey) {
  15. super(server, selectionKey);
  16. }
  17. public void print(String str){
  18. System.out.println(str);
  19. }
  20. }
  21. }

Demo Client:

  1. public class DemoClient {
  2. public static void main(String[] args) throws IOException, InterruptedException {
  3. Server<Client> server = new Server<>(Client.class, null, null);
  4. Client client = server.connect(new InetSocketAddress(9090));
  5. while (true){
  6. String str = client.sendPacket(new Packet(10).writeString("Hello java server").flip(), new CallablePacketListener<Client, String>() {
  7. @Override
  8. public String readPacket(Client client, Packet packet) {
  9. return packet.readString();
  10. }
  11. },4000);
  12. System.out.println(str);
  13. Thread.sleep(1000);
  14. }
  15. }
  16. }