廣州服務(wù)器托管,廣州人民中機房。廣東移動機房服務(wù)器租用。廣東bgp機房租賃。廣州移動機房租用,廣州科學(xué)城機房服務(wù)器租用,深圳聯(lián)通機房租賃,深圳服務(wù)器租用,深圳聯(lián)通機房租用,廣東電信機房租用,佛山移動機房。珠海移動機房租用,佛山平洲機房租賃,中山服務(wù)器租用,佛山平洲機房,廣州私有云,佛山電信機房服務(wù)器租用,廣州電信機房租賃,深圳雙線機房租用,中山bgp機房租用,
廣東bgp機房 .cn
深圳市銳速云計算有限公司(簡稱:銳速)是深圳市高新技術(shù)產(chǎn)業(yè)協(xié)會會員單位。公司位于深圳市龍華新區(qū)東環(huán)一路天匯大廈B座625。銳速主要為客戶提供全球范圍內(nèi)RS抗DDoS防護(hù)系統(tǒng)、防CC攻擊、系統(tǒng)集群架構(gòu)綜合服務(wù)提供商。
深圳市銳速云計算有限公司自主研發(fā)的銳速防護(hù)系統(tǒng),銳速服務(wù)器集群管理系統(tǒng),已全部投入使用,并為廣大客戶提供完美解決方案。
互聯(lián)網(wǎng)架構(gòu)領(lǐng)域:
擁有10多年linux經(jīng)驗的系統(tǒng)工程師、網(wǎng)絡(luò)安全專家、Orcale,MySQL數(shù)據(jù)庫專家、專業(yè)運營人員均具備有職業(yè)證書資質(zhì),能為用戶提供最專業(yè)、及時、完善的網(wǎng)絡(luò)服務(wù)、Java/PHP/C編程高手和網(wǎng)絡(luò)安全專家。
為企業(yè)提供 高可用 ,高可靠,高擴展,高并發(fā),高性能 系統(tǒng)方案。
網(wǎng)絡(luò)安全領(lǐng)域:
基于WEB網(wǎng)站、移動端APP和IP地址的DDOS、DNS、WAF等相關(guān)安全防護(hù)服務(wù)。
擁有自主運營的數(shù)據(jù)中心,全網(wǎng)超過1000G的超級防御能力。投入巨資自 6783674671 (不是聯(lián)系方式) 主研發(fā)高性能抗DDoS、CC防火墻,始終以客戶“零部署”、“零維護(hù)”、方便快捷、簡單易用為產(chǎn)品研發(fā)的基準(zhǔn),打造一站式的綜合服務(wù)平臺,致力于為廣大政府、中小企、互聯(lián)網(wǎng)金融、電子商務(wù)平臺、CDN服務(wù)商、云計算服務(wù)商等互聯(lián)網(wǎng)企業(yè),提供高品質(zhì)的云安全防御技術(shù)解決方案。
擁有超過30人核心研發(fā)及支撐團(tuán)隊,具備豐厚的防火墻底層設(shè)計、網(wǎng)絡(luò)監(jiān)控、數(shù)據(jù)分析、快速定位解決問題等實戰(zhàn)經(jīng)驗。并提供7 x 24小時不間斷在線售后支撐服務(wù),用戶更省心,更安心
廣東電信機房
聯(lián)系人:譚先生
手機:13430280788
QQ:303210272
網(wǎng)址: .cn
地址:廣州市海珠區(qū)聚德路299號龍騰18產(chǎn)業(yè)園1號樓4層
租機房游戲服務(wù)器租用選擇UDP還是TCP,在編寫網(wǎng)絡(luò)游戲的時候,到底使用UDP還是TCP的問題遲早都要面對。
一般來說你會聽到人們這樣說:“除非你正在寫一個動作類游戲,否則你就用TCP吧” 或者是 “你能夠在MMO游戲中用TCP,因為魔獸世界就用的TCP!”
遺憾的是,這些觀點都沒有反映這個問題的復(fù)雜性。
背景
首先,說明一下,我之前主要是用TCP進(jìn)行網(wǎng)絡(luò)編程。我曾為一個流行的在線紙牌游戲編寫服務(wù)器了好幾年,在高峰期我們的每臺服務(wù)器能夠承受4000到10000個連接(同一臺物理機器上有多個服務(wù)器進(jìn)程在跑)都沒有問題。在我來看,TCP是一種安全而且常見的選擇。
盡管如此,我們最新的項目卻是使用UDP協(xié)議,而且我們的項目無法通過任何方式在TCP下工作。事實上,項目一開始使用的TCP,但是后來發(fā)現(xiàn)我們使用TCP無法達(dá)到我們需求的連接數(shù)量時,我們只能換成UDP了。
在使用中TCP表現(xiàn)怎么樣呢
從原理上,TCP的優(yōu)勢有:
簡單直接的長連接
可靠的信息傳輸
數(shù)據(jù)包的大小沒有限制
任何一個和TCP打過交道的人都知道,要實現(xiàn)一個穩(wěn)定的TCP網(wǎng)絡(luò)連接,需要處理各種隱藏的坑,比如斷線檢測、慢速客戶端響應(yīng)阻塞數(shù)據(jù)包,對開放連接的各種dos攻擊,阻塞和非阻塞IO模型等等。
除了上面列出的這些問題外,一個好的TCP模塊確實不好編碼實現(xiàn)。
但是,TCP最糟糕的特性是它對阻塞的控制。一般來說,TCP假定丟包是由于網(wǎng)絡(luò)帶寬不夠造成的,所以發(fā)生這種情況的時候,TCP就會減少發(fā)包速度。
在3G或WiFi下,一個數(shù)據(jù)包丟失了,你希望的是立馬重發(fā)這個數(shù)據(jù)包,然而TCP的阻塞機制卻完全是采用相反的方式來處理!
而且沒有任何辦法能夠繞過這個機制,因為這是TCP協(xié)議構(gòu)建的基礎(chǔ)。這就是為什么在3G或者WiFi環(huán)境下,ping值能夠上升到1000多毫秒的原因。
為什么不用UDP
UDP相對TCP來說既簡單又困難。
舉個例子來說,UDP是基于數(shù)據(jù)包構(gòu)建,這意味著在某些方面需要你完全顛覆在TCP下的觀念。UDP只使用一個socket進(jìn)行通信,不像TCP需要為每一個客戶端建立一個socket連接。這些都是UDP非常不錯的地方。
但是,大多數(shù)情況下你需要的僅僅是一些連接的概念罷了,一些基本的包序功能,以及所謂的連接可靠性??上У氖?,這些功能UDP都沒有辦法簡單的提供給你,而你使用TCP卻都可以免費得到。
這也是人們?yōu)槭裁唇?jīng)常推薦TCP的原因。在用TCP的時候你可以不考慮這些問題,直到你需要同步連接的數(shù)量級達(dá)到500以上的時候。
所以,是的,UDP沒有提供所有的解決方法,但是就像你看到的那樣,這也正是UDP好用的地方。在某種意義上來說,TCP對UDP就好比是Hibernate和手寫SQL的區(qū)別。
使用TCP失敗的地方
人們經(jīng)常給你建議,讓你去使用TCP,比如“TCP跟UDP一樣快”或者“游戲X用TCP如此成功,所以TCP當(dāng)然是首選”,然而,他們完全沒有理解為什么在那個特定的游戲中TCP是有效的,為什么UDP不按照順序發(fā)送數(shù)據(jù)包呢?
那么為什么魔獸世界采用TCP呢?首先我們需要解釋這個問題。這個問題其實是“為什么魔獸世界有的時候1000毫秒以上的延遲還能夠運行?”這是TCP的性質(zhì)決定的,在發(fā)生丟包的時候,會產(chǎn)生巨大的延遲,因為TCP首先會去檢測哪些包發(fā)生了丟失,然后重發(fā)所有丟失的包,直到他們都被接收到。
可靠的UDP也是有延遲的,但是由于它是在UDP的基礎(chǔ)之上建立的通信協(xié)議,所以可以通過多種方式來減少延遲,不像TCP,所有的東西都要依賴于TCP協(xié)議本身而無法被更改。
就這一點來講,一些人要開始提到Nagle算法了,實際上它是你在實現(xiàn)任意一個對延遲敏感的TCP模型時首先需要禁止使用的。
那么魔獸世界以及其他的一些游戲是怎么處理延遲問題的呢?
方法也很簡單,他們能夠隱藏掉延遲帶來的影響。
在魔獸世界中,玩家和玩家是無法碰撞的:因為這類碰撞是無法通過一些預(yù)測來處理的,但是玩家和環(huán)境之間的碰撞卻是可以通過預(yù)測來處理的,所以這里使用TCP是沒有問題的。
我們來看一下魔獸世界的戰(zhàn)斗就會發(fā)現(xiàn),玩家的攻擊指令發(fā)送給服務(wù)器的操作是放在比如“attack_entity(entity_id)”或者”cast_spell(entity_id, spell_id)“的接口中來做的,換句話說,瞄準(zhǔn)操作是獨立于進(jìn)行的。如此一來,一些類似發(fā)起攻擊動作和釋放技能特效就能夠在沒有收到服務(wù)器確認(rèn)的情況下就直接執(zhí)行,比如展現(xiàn)冰凍技能的效果就可以在服務(wù)器沒有返回數(shù)據(jù)前在客戶端就做出來。
客戶端直接開始進(jìn)行計算而不等待服務(wù)端確認(rèn)是一種典型的隱藏延遲的技術(shù)。
幾年前,我為一個叫“Five Card Jazz”的紙牌游戲編寫過客戶端。它使用的是http協(xié)議,它比直接的TCP協(xié)議連接的延遲更加嚴(yán)重。
我們用簡單的紙牌繪制和抽牌的動畫來掩蓋延遲的問題,所以延遲的問題只在非常糟糕的連接下才會被看出來。這種方法也非常的典型:發(fā)送請求的同時開始播放牌桌的動畫,一直播放翻動最后一張牌直到接收到了服務(wù)端傳回來的數(shù)據(jù)為止。魔獸世界的戰(zhàn)斗特效就是使用類似的原理。
這也意味著,我們到底是使用TCP還是UDP取決于我們能否隱藏延遲。
TCP在什么時候失效
一個采用TCP的游戲必須能夠處理好突發(fā)的延遲問題(紙牌客戶端就很典型,對突發(fā)性的一秒的延遲,玩家也不會產(chǎn)生什么抱怨)或者是擁有緩解延遲問題的好方法。
但是如果你運行的是一個無法使用任何減緩延遲措施的游戲呢?玩家對玩家的動作類游戲通常就屬于這個范疇,但是這也不僅僅限于動作類游戲。
舉個例子:
我目前正在寫一個多人游戲(War Arcana)。
一種常見的操作是,你快速的移動你的角色通過一張充滿戰(zhàn)爭迷霧的世界地圖,但是一旦你探索過,迷霧就會被打開。
為了確保游戲的規(guī)則,防止玩家作弊,服務(wù)器只能顯示玩家當(dāng)前位置附近的信息。這意味著不像魔獸世界,玩家無法在沒有得到服務(wù)器響應(yīng)的情況下,做出完整的動作。和Five Card Jazz相比,我們即使允許500毫秒的延遲,也已經(jīng)非常困難了。
在實現(xiàn)了游戲的原型后,在局域網(wǎng)內(nèi)一切都進(jìn)行的非常順利,但當(dāng)我們在WiFi環(huán)境下測試時,操作會間歇性的卡起來或者延遲高起來。寫了一些測試程序之后發(fā)現(xiàn),WiFi環(huán)境下偶爾會發(fā)生丟包行為,每當(dāng)發(fā)生丟包的時候,服務(wù)器的響應(yīng)速度就從100-150毫秒上升到1000-2000毫秒。
沒有任何辦法可以繞過TCP的這個設(shè)置來避開這個問題。
我們替換了TCP的代碼,用了自定義的可靠的UDP來實現(xiàn),把大量的丟包產(chǎn)生的延遲降到了僅僅只有50毫秒,甚至比以前TCP不丟包的情況一個來回的延遲還要小。當(dāng)然,這只可能建立在UDP之上,這樣我們才對可靠性擁有完全的掌控力。
困惑:可靠的UDP只是TCP的一種簡單的實現(xiàn)?
你有沒有聽過這種說法:“可靠的UDP就像TCP一樣,所以還是用TCP吧”。
問題是這種說法是錯誤的??煽康?/font>UDP一點也不像TCP,要去實現(xiàn)一個特殊的阻塞控制。事實上,這也是你使用可靠UDP代替TCP的最大的原因,避免TCP的阻塞控制。
另一個重點是可靠的UDP的可靠性是如何保證的。這里有很多種方法去實現(xiàn)。我非常喜歡Quake3網(wǎng)絡(luò)庫代碼里的一些想法,它們也激發(fā)了我在War Arcana中使用UDP協(xié)議。
你也可以使用許多支持可靠通信的UDP庫,當(dāng)然,這樣在可靠性方面,相比自己手動實現(xiàn)全部的代碼而言,可能會更加通用而失去了一些性能優(yōu)勢。
底線
那么到底是用UDP還是TCP呢?
如果是由客戶端間歇性的發(fā)起無狀態(tài)的查詢,并且偶爾發(fā)生延遲是可以容忍,那么使用HTTP/HTTPS吧。
如果客戶端和服務(wù)器都可以獨立發(fā)包,但是偶爾發(fā)生延遲可以容忍(比如:在線的紙牌游戲,許多MMO類的游戲),那么使用TCP長連接吧。
如果客戶端和服務(wù)器都可以獨立發(fā)包,而且無法忍受延遲(比如:大多數(shù)的多人動作類游戲,一些MMO類游戲),那么使用UDP吧。
這些也應(yīng)該考慮在內(nèi):你的MMO客戶端也許首先使用HTTP去獲取上一次的更新內(nèi)容,然后使用UDP跟游戲服務(wù)器進(jìn)行連接。
專注、創(chuàng)新! 專注云計算安全技術(shù)的研究、開發(fā)和應(yīng)用,深入了解客戶的需求;追求創(chuàng)新,致力于成為全球領(lǐng)先的云安全綜合服務(wù)平臺,竭誠為廣大企業(yè)用戶提供高效、專業(yè)的服務(wù)。
1、防CC攻擊
通過我們提供高端的防CC硬件防火墻,對于CC攻擊流量進(jìn)行過濾,使得服務(wù)器更安全可靠地提供服務(wù)。
2、防DDOS攻擊
我們給您提供免費1G的防攻擊流量,足以阻擋大部分的DDOS攻擊,經(jīng)過我們的高防設(shè)備進(jìn)行流量清洗后,使得到達(dá)源服務(wù)器的都是有效用戶訪問流量。
3、網(wǎng)站監(jiān)控
我們會提供精確地對內(nèi)和對外服務(wù)進(jìn)行監(jiān)控,當(dāng)出現(xiàn)異常時,我們的監(jiān)控系統(tǒng)會第一時間給你發(fā)送故障手機短信和報警郵件通知。通過監(jiān)控系統(tǒng)控制界面,您可以清楚的看到歷史CPU、內(nèi)存,磁盤等性能圖表,一目了然。
4、負(fù)載均衡
提供高可用性的負(fù)載均衡服務(wù),按照一定策略將用戶請求分?jǐn)偟蕉嗯_負(fù)載服務(wù)器,使得系統(tǒng)可以水平擴展,不斷滿足業(yè)務(wù)增值的需求。
5、數(shù)據(jù)同步
多臺服務(wù)器之間的數(shù)據(jù)同步解決方案,包括但不限于網(wǎng)站以及數(shù)據(jù)庫的數(shù)據(jù)同步。
6、數(shù)據(jù)備份
按照業(yè)務(wù)需求提供高可靠的備份解決方案,即使發(fā)生故障,數(shù)據(jù)也能盡快在短時間內(nèi)恢復(fù)。
7、網(wǎng)站架構(gòu)搭建以及優(yōu)化
各類操作系統(tǒng)安裝配置維護(hù)及優(yōu)化;
Apache\Nginx\IIS安裝配置維護(hù)及優(yōu)化;
Linux下PHP安裝配置維護(hù)及優(yōu)化;
Oracle\MySQL\MSSQL數(shù)據(jù)庫安裝配置維護(hù)及優(yōu)化;
Jboss\Tomcat\Weblogic安裝配置維護(hù)及優(yōu)化;
其它應(yīng)用軟件的安裝配置維護(hù)及優(yōu)化。
8、IT資源整體外包
為客戶提供全套的IT系統(tǒng)規(guī)劃、采購、實施、運維、咨詢、培訓(xùn)的整體服務(wù),適用于不想成立IT部門或雇用IT工程師,并迫切希望降低運營成本的公司。
9、單項IT技術(shù)外包服務(wù)
也許您的公司有少量的計算機人員,難以應(yīng)付日常的各種繁雜事務(wù),可以把您覺得棘手的事情交給我們,如網(wǎng)絡(luò)建設(shè),硬件設(shè)備維護(hù),單項軟件開發(fā),我們可以按項目,時間,設(shè)備量等各種方式計費,提供服務(wù)。
10、運維外包
當(dāng)系統(tǒng)已經(jīng)建設(shè)好,維護(hù)人員日常工作不多,有了問題時又忙不過來,我們可以提供隨機的維護(hù)外包服務(wù),作為我們的客戶,您在遇到問題時可以享受到團(tuán)隊技術(shù)力量的服務(wù),保障已建系統(tǒng)的正常運行。
11、IT行業(yè)信息咨詢
目的是幫助客戶找到正確的價格比并及時、準(zhǔn)確了解IT行業(yè)前沿技術(shù)動態(tài);系統(tǒng)解決方案,目的是根據(jù)企業(yè)網(wǎng)絡(luò)實際情況及時、有效提出合理的優(yōu)化、升級方案書,使企業(yè)網(wǎng)絡(luò)系統(tǒng)總是處于最佳狀態(tài)。
12、網(wǎng)站安全掃描服務(wù)
我們給客戶提供網(wǎng)站漏洞掃描服務(wù),通過掃描網(wǎng)站,將網(wǎng)站存在的風(fēng)險以及漏洞一一例出,讓開發(fā)人員可以對網(wǎng)站漏洞進(jìn)行修復(fù),避免被黑客利用。
【原創(chuàng)文章】
的關(guān)系。3、安全防御性能對于游戲服務(wù)器來說,一般都很容易受到黑客的攻擊,特別是對于一些熱門網(wǎng)絡(luò)游戲。所以,選擇一家能提供高防服務(wù)器的IDC商尤為重要。對于游戲服務(wù)器來說,防御能力越強,其價格也就越高。當(dāng)然,價格歸價格,服務(wù)器的穩(wěn)定性也很重要,穩(wěn)定性好的服務(wù)器體價格也比較高,這樣一來是不是要花費更高的價