Avatar
0
Nguyễn Linh Beginner
Nguyễn Linh Beginner
Cách sử dụng Ezy Http bên trong Ezyfox Server
Dạ mọi người ơi cho em hỏi làm thế nào để sử dung EzyHttp bên trong Ezyfox Server, vì em thấy phần EzySimpleSettings trong ApplicationStartup trong thư mục startup có thể set HttpSimpleHttpSettings

  • Answer
ezyfox-server ezyhttp
Remain: 5
2 Answers
Avatar
monkey Beginner
monkey Beginner
  1. Trước đây thì có thể start http cùng với ezyfox-server, nhưng hiện tại thì không thể em ạ, http đã bị bỏ ra khỏi ezyfox-server và trở thành ezyhttp em nhé.

  1. Em nên tách riêng http và socket server ra em ạ, vì 2 cái này tính chất khác nhau, và cách xác thực cũng khác nhau em ạ.
  • 0
  • Reply
Avatar
Nguyễn Linh Beginner
dạ cám ơn anh Dũng, vậy mình có thể start ezyhttp bên trong ezyfox-server không anh nhỉ? hoặc một cách gì đấy để mình có thể tái sử dụng code logic của dự án mà em đã xây dựng bên ezyfox server cho bên ezy http dùng
  • 1
  • Reply
  1. Em không nên em ạ, em nên start socket và http thành 2 service riêng biệt em nhé.
  2. Để tái sử dụng thì em tổ chức source code thì em nên tách phần dùng chung thành 1 module common source code, kiểu cấu trúc dự án sẽ là:
  • game-app-entry
  • game-app-api
  • game-plugin
  • game-common
  • game-socket-startup
  • game-http-startup

Thì tất cả có thể sử dụng chung các service bên trong game-common em ạ.

 –  monkey 1641765288000
dạ em hiểu rồi, tiếc quá, em thì vẫn thích cả http và socket cùng chung 1 service hơn là tách ra 2, chung 1 service có thể chia sẻ bộ nhớ với nhau, client có thể sendByHttp hoặc sendBySocket 1 request nào đó đến server của mình đều được, thông qua việc server nhận được là http hay socket mà tạo ra 1 kiểu đối tượng (vd OperationRequest) điều hướng cho 1 Controller đảm nhận việc xử lí OperationRequest trả về OperationResponse, sau đó server trả về theo socket hay http do client request ban đầu  –  Nguyễn Linh 1641765920000
chẳng hạn client gọi request sendChatAllApi(msg) bằng Http request, server sẽ đưa cho bên HttpController tạo ra OperationRequest từ request vừa rồi, sau đó đưa cho bên ChatController xử lí và return OperationResponse, HttpController lấy được OperationResponse và gửi lại cho client,

Trong ChatController khi xử lí ChatAll, sẽ gửi msg đó đến cho tất cả những EzyUser đang online.

 –  Nguyễn Linh 1641766207000
Trên thực tế thì controller của socket và controller của http là 2 thứ hoàn toàn khác nhau em ạ. Và các bean như responseFactory của socket thì http cũng sẽ không có, nó sẽ làm cho http bị lỗi em ạ. Nhưng nếu em vẫn muốn start chung với nhau em vẫn có thể làm được bằng cách quy hoặc package của socket và http khác nhau để bọn nó không scan chồng chéo nhau và gây lỗi em ạ.  –  monkey 1641766460000
Anh đoán chức năng này dành cho admin, vậy anh nghĩ là nên để chức năng này do socket admin thực hiện em ạ. Vì kiểu gì thì admin cũng sẽ phải kết nối đến socket để tương tác realtime vơi hệ thống và user.  –  monkey 1641772729000
dạ em cám ơn anh Dũng, mình có demo phần socket admin này không cho em xin với ạ  –  Nguyễn Linh 1642029620000