討論一下大使用者量應用客戶端與伺服器通訊技術方案選擇
1、通過UDP socket方式,實現服務端與客戶端通訊。這種方式優缺點就不說了。
2、能過tcp/ip socket方式,實現服務端與客戶端通訊。這種方式缺點就是大使用者量的soket連線佔用伺服器系統資源,同時對已經登出的使用者連線也不好判斷。
3、通過java 訊息機制 實現訊息訂閱方式,來實現服務端向客戶端訊息的及時通知。但是這種方式在誇平臺方面存在弊端,同時對上千萬使用者級別規模的效能也不清楚。
請教各位有什麼更好的辦法實現?
相關推薦
討論一下大使用者量應用客戶端與伺服器通訊技術方案選擇
最近公司正在做一個專案,該專案的客戶端應用相當廣泛,類似與QQ這樣的專案。其中有一項要求服務端與普通使用者的客戶端程式能適時互動。當服務端系統狀態有變化時,能及時通知所有線上的使用者更新資料。由於客戶端使用者數量群較大,
五、通過Protobuf整合Netty實現對協議訊息客戶端與伺服器通訊實戰
目錄 一、Protocol Buffers 是什麼? 二、Protocol Buffers 檔案和訊息詳解 三、專案實戰,直接掌握的protobuf應用。 一、Protocol Buffers 是什麼? 1、官網翻譯
OPC協議解析-OPC客戶端與伺服器通訊解析
1 OPC伺服器 OPC伺服器, 是指按照OPC基金組織規定的OPC規範群開發的軟體驅動。OPC伺服器作為中間媒介負責從資料來源讀取資料再跟另外一端的客戶端通訊。在 OPC客戶端/伺服器 的結構圖中, 通訊的發起端是, 也只能是OPC客戶端。客戶端
實現PHP伺服器+Android客戶端(Retrofit+RxJava)第四天客戶端與伺服器通訊的實現
我的上一篇文章已經介紹了retrofit+rxjava的配置(包括快取),從這一篇開始就開始講我要實現的這個app網路請求部分的構思,也就是要請求那些資料,資料的型別等等。 我要實現的客戶端 看圖: 看了介面基本應該能知道要實現的效果了
Java Socket多個客戶端與伺服器通訊
client程式碼: package com.cqut.test4; import java.io.*; import java.net.Socket; import java.net.SocketException; import java.net.U
linux下socket程式設計 select實現非阻塞模式多臺客戶端與伺服器通訊
select函式原型如下: int select (int maxfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout); select系統呼叫是用來讓我們的程式
客戶端與伺服器通訊
最近準備做一個考試系統,所以學習了一下C/S的通訊,就現在所知的來說,一般用的通訊方式有Web Service、Remoting,還有一種較新的技術WCF, 但我還沒學習到,所以暫不涉及。 開篇即將記錄的是最基本的Socket,在.Net中,微軟將
Netty簡單示例----客戶端與伺服器通訊
本例實現功能為客戶端獲取伺服器的時間並顯示,參考《Netty權威指南》一書,不過書中使用Netty5實現的,考慮到Netty已經下架5,本例子使用Netty4.1.6版本。 首先伺服器端,包括TimeServer、TimeServerHandler兩個類:
Onvif客戶端與伺服器通訊時鑑權的自實現
OnvifDigest.h /** SHA1 digest size in octets */ #define SOAP_SMD_SHA1_SIZE (20) /** Size of the random nonce */ #define SOAP_WSSE_NONCELEN (20) #define
移動客戶端與伺服器通訊方式一
*今天測試了一下Java 給iOS客戶端推送訊息,包括靜默推送 ,還有別名推送,其實是和token繫結在一塊的,別名推送是用於 有使用者分群需求的應用,什麼時候繫結token,什麼時候解綁(使用者退出登入,一個使用者手機,平板多裝置登入), 玩轉推送後有很多問
Socket模擬客戶端與伺服器
程式碼如下: #include <stdio.h> #include <WinSock2.h> #include <process.h> #pragma comment(lib, "ws2_32.lib") HANDLE g_hEvent = NUL
Socket-tcp協議客戶端與伺服器端互聯
客戶端 using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Sockets; using System.Text; using System.T
01-撩課JavaEE-客戶端與伺服器
一、CS與BS Client/Server:PC客戶端、伺服器架構 Client/Server PC客戶端、伺服器架構 特點: 在伺服器當中就主要是一個數據庫, 把所有的業務邏輯以及介面都交給客戶端完成 優點: 較為安全,使用者介面豐富,使用者體驗好 缺點:
zookeeper叢集的客戶端與伺服器端
zookeeper服務端命令: 啟動命令:sh zkServer.sh start 停止命令:sh zkServer.sh stop zookeeper客戶端命令: 啟動命令:sh zkCli.sh 連線其他客戶端:sh zkCli.sh -server ip:port  
SWUST--Java實驗(七) 客戶端與伺服器聊天實現
import java.awt.BorderLayout; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.border.EmptyBorde
php 客戶端與伺服器端安全與破解
一般的加密和授權:轉發伺服器(代理伺服器) 解決方案:hhvm編譯程式碼 放扒取: js類 1:防止滑鼠右鍵事件,在html->body <body oncontextmenu=self.event.returnValue=false> 或
APP(Android版)客戶端與伺服器端時間校準
APP開發人員經常會遇見一個bug就是,APP顯示的時間不準,或者說APP時間與伺服器時間不一致,會導致資料請求、資料顯示等各種問題。這時候我們就需要一種機制來解決時間不一致的問題。 解決方案如下: 1.伺服器端永遠使用UTC時間,包括引數和返回值,不要使用Date格式,而是使用UT
java利用socket實現客戶端與伺服器的連線與資料傳遞
網路上的兩個程式通過一個雙向的通訊連線實現資料的交換,這個雙向鏈路的一端稱為一個 socket。socket 也就是套接字,可以用來實現不同虛擬機器或者不同計算機之間的通訊。在 Java 語言中,socket 可以分為兩種型別:面向連線的 socket 通訊協議(TCP)和麵向無連線的 socket
QT 中Socket客戶端與伺服器異常斷開後重連
在現在的專案開發中,經常要使用TCP/IP協議來進行通訊,但有時候與伺服器端的連結由於網路問題導致連線異常或斷開,這就需要我們的軟體能自動重連,在Linux中,我們的思維一般是通過心跳包來監控連線是否斷開,有時候還單獨開一個執行緒,但是在QT中,就變得簡單多了,當連線異常
java socket:客戶端與伺服器端通訊
Socket:網路上兩個程式通過一個雙向的通訊連線實現資料交換,連線的一段為一個socket,要實現兩個程式的資料交換一般要一對socket。 這個定義參考自百度百科,我覺得說的還不錯,另外,socket的英文有‘插口’的意思,其實也可以理解為程式的插口等等。