最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

股票量化:赫茲量化系統(tǒng)中對(duì)連通器的探索

2023-11-02 17:11 作者:大牛啊呢  | 我要投稿

套接字

套接字是軟件實(shí)現(xiàn)的進(jìn)程間交換數(shù)據(jù)的接口。 這些過程既可以在單臺(tái) PC 上啟動(dòng),也可在連接到網(wǎng)絡(luò)里的不同 PC 上啟動(dòng)。

MQL5 僅提供客戶端 TCP 套接字。 這意味著我們能夠發(fā)起連接,但我們不能等待并響應(yīng)外部的連接請求。 所以,如果我們需要通過套接字在 MQL5 程序之間提供連通,則需要一個(gè)充當(dāng)中介的服務(wù)器。 服務(wù)器等待并偵聽端口的連接,并響應(yīng)客戶端的請求執(zhí)行某些功能。 若要連接到服務(wù)器,我們需要知道其 IP 地址和端口。

端口是一個(gè)介于 0 到 65535 之間的數(shù)字。 有三個(gè)端口范圍:系統(tǒng)保留(0 - 1023),用戶(1024 - 49151),和動(dòng)態(tài)端口(49152 - 65535)。 一些端口已分配給某些功能占用。 分配是由 IANA 執(zhí)行,該組織負(fù)責(zé)管理 IP 地址區(qū)段和頂級(jí)域名,并注冊 MIME 數(shù)據(jù)類型。

默認(rèn)情況下,端口 3306 已分配給 MySQL。 當(dāng)訪問服務(wù)器時(shí),我們將與其連接。 請注意,此端口值可以更改。 因此,在開發(fā) EA 時(shí),應(yīng)在輸入中設(shè)置端口以及 IP 地址。

Wireshark 流量分析器

流量分析器有助于調(diào)試應(yīng)用套接字的程序代碼。 缺了它,整個(gè)過程就像不用示波器進(jìn)行電子設(shè)備維修一樣。 分析器從選定的網(wǎng)絡(luò)接口捕獲數(shù)據(jù),并以可讀形式顯示它們。 它跟蹤數(shù)據(jù)包的大小,它們之間的時(shí)間間隔,重傳和連接丟失是否存在,以及許多其他有用的數(shù)據(jù)。 它還解碼許多協(xié)議。

為了令我們自己熟悉流量分析器,我們嘗試與 “google.com” 服務(wù)器建立連接,并跟蹤該過程。 為此,編寫一個(gè)小腳本。

void OnStart() ?{ //--- Get socket handle ? int socket=SocketCreate(); ? if(socket==INVALID_HANDLE) ? ? ?return; //--- Establish connection ? if(SocketConnect(socket,"google.com",80,2000)==false) ? ? { ? ? ?return; ? ? } ? Sleep(5000); //--- Close connection ? SocketClose(socket); ?}

為此,首先我們創(chuàng)建一個(gè)套接字,并利用 SocketCreate() 函數(shù)獲取其控柄。 在這種情況下,按參考資料的說辭,您可能會(huì)得到兩種情況的錯(cuò)誤,盡管這幾乎是不可能的:

  1. ERR_NETSOCKET_TOO_MANY_OPENED 錯(cuò)誤信號(hào)表示已有多于 128 個(gè)以上的套接字被打開。

  2. 出現(xiàn) ERR_FUNCTION_NOT_ALLOWED 錯(cuò)誤則表示嘗試從指標(biāo)里調(diào)用套接字創(chuàng)建,而此功能是被禁止的。

得到控柄后,嘗試建立連接。 在本示例中,我們連接到 “google.com” 服務(wù)器(不要忘記在終端設(shè)置中將其添加到允許的服務(wù)器地址中),即連接到端口 80,且超時(shí)為 2000 毫秒。 建立連接之后,等待 5 秒鐘,然后將其關(guān)閉。 現(xiàn)在,我們在流量分析器窗口中看看它的樣子。

頂部的三個(gè)數(shù)據(jù)包代表建立連接,而底部的三個(gè)數(shù)據(jù)包代表將其關(guān)閉。 “Time(時(shí)間)” 列顯示數(shù)據(jù)包之間的時(shí)間,我們可以看到 5 秒鐘的停頓時(shí)間。 請注意,數(shù)據(jù)包的顏色為綠色,與圖例 2 中的不同。 這是因?yàn)樵谥暗那闆r下,分析器在數(shù)據(jù)交換中檢測到 MySQL 協(xié)議。 在當(dāng)前情況下,沒有數(shù)據(jù)經(jīng)過,分析器使用默認(rèn)的 TCP 顏色顯示數(shù)據(jù)包。



數(shù)據(jù)交換

根據(jù)協(xié)議,MySQL 服務(wù)器應(yīng)在建立連接后發(fā)送應(yīng)答語。 作為響應(yīng),客戶端發(fā)送授權(quán)請求。 在 dev.mysql.com 網(wǎng)站上,該機(jī)制于連接階段部分進(jìn)行了詳細(xì)闡述。 如果未收到服務(wù)端的應(yīng)答語,則 IP 地址無效,或服務(wù)器正在偵聽其它端口。 無論何種情況,這意味著我們已連接的絕對(duì)不是 MySQL 服務(wù)器。 在正常狀況下,我們需要接收數(shù)據(jù)(從套接字讀取數(shù)據(jù)),并解析它。


股票量化:赫茲量化系統(tǒng)中對(duì)連通器的探索的評(píng)論 (共 條)

分享到微博請遵守國家法律
涞源县| 汝州市| 西贡区| 麻江县| 克拉玛依市| 临沂市| 梅河口市| 崇义县| 稻城县| 鲜城| 永康市| 盐源县| 南丰县| 正阳县| 黑山县| 横峰县| 象州县| 定兴县| 黎城县| 山阴县| 鲜城| 冕宁县| 会同县| 宁夏| 昌黎县| 文安县| 积石山| 高陵县| 织金县| 思茅市| 威远县| 上杭县| 东至县| 灯塔市| 揭西县| 东方市| 县级市| 花莲市| 马鞍山市| 元朗区| 肇州县|