一種服務器連接方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,特別涉及一種服務器連接方法及裝置。
【背景技術(shù)】
[0002]屏幕視頻的錄制,除了包含錄制設(shè)備桌面的操作,還包括了另一個重要來源,即錄制視窗環(huán)境中的視頻內(nèi)容,譬如將屏幕上的軟件操作過程、視頻教學、文稿的演示、視頻聊天等錄制成視頻。這種屏幕視頻的錄制方式,在教學視頻上有重要應用,可以生動地還原教師在講課過程中對課件的翻頁、批注、書寫等操作,使學生可以遠程獲得與在現(xiàn)場一樣的體驗。
[0003]在現(xiàn)有技術(shù)中,在屏幕視頻的錄制過程中,若需要對指定的服務器發(fā)送該視頻數(shù)據(jù),根據(jù)指定的服務器名稱與局域網(wǎng)中的服務器進行匹配,當匹配到名稱一致的服務器時,向該服務器發(fā)送錄制的視頻。然而這樣的方法,只能在視頻錄制完畢時,實現(xiàn)視頻錄制設(shè)備對服務器的一對一發(fā)送。不能實現(xiàn)在視頻錄制過程中對多個服務器進行視頻數(shù)據(jù)的實時發(fā)送。
【發(fā)明內(nèi)容】
[0004]本發(fā)明提供一種服務器連接方法及裝置,用以實現(xiàn)在視頻錄制過程中對多個服務器進行視頻數(shù)據(jù)的實時發(fā)送。
[0005]本發(fā)明提供一種服務器連接方法,包括:
[0006]獲取視頻編碼過程中各個候選服務器的名稱;
[0007]在所述各個候選服務器中,確定名稱中存在預設(shè)字段的目標服務器;
[0008]將與所述目標服務器的名稱對應的服務器地址信息添加到循環(huán)隊列中,所述循環(huán)隊列中存儲有目標服務器的名稱、與目標服務器的名稱對應的服務器地址信息和目標服務器的數(shù)量;
[0009]當獲取到視頻編碼數(shù)據(jù)時,根據(jù)所述循環(huán)隊列中的服務器地址信息,向所述循環(huán)隊列中的服務器發(fā)送所述視頻編碼數(shù)據(jù)。
[0010]在一個實施例中,所述獲取視頻編碼過程中各個候選服務器的名稱,包括:
[0011]獲取局域網(wǎng)中的設(shè)備名稱;
[0012]根據(jù)所述設(shè)備名稱判斷所述設(shè)備是否為服務器;
[0013]當所述設(shè)備為服務器時,確定所述設(shè)備的名稱為候選服務器的名稱。
[0014]在一個實施例中,所述將與所述目標服務器名稱對應的地址信息添加到循環(huán)隊列中,包括:
[0015]根據(jù)與所述目標服務器套接字連接字段判斷是否與所述目標服務器已建立視頻套接字連接;
[0016]當與所述目標服務器套接字連接字段的值為I時,確定與所述套接字連接字段對應的目標服務器已建立連接;
[0017]將所述目標服務器名稱對應的地址信息添加到循環(huán)隊列中。
[0018]在一個實施例中,所述方法還包括:
[0019]當與所述循環(huán)隊列中的目標服務器套接字連接字段的值為O時,確定與所述目標服務器未建立連接;
[0020]重新建立與所述目標服務器的連接;
[0021]將重新建立連接的目標服務器添加到所述循環(huán)隊列中,并更新所述循環(huán)隊列中目標服務器的數(shù)量。
[0022]在一個實施例中,當所述循環(huán)列表包括等待接收所述視頻編碼數(shù)據(jù)的目標服務器的數(shù)量時,所述方法還包括:
[0023]當向所述循環(huán)隊列中的服務器發(fā)送所述視頻編碼數(shù)據(jù)時,實時更新所述循環(huán)隊列中等待接收所述視頻編碼數(shù)據(jù)的目標服務器的數(shù)量;
[0024]當所述循環(huán)隊列中等待接收所述視頻編碼數(shù)據(jù)的服務器個數(shù)為O時,向所述循環(huán)隊列發(fā)送下一個視頻編碼數(shù)據(jù)或結(jié)束流程。
[0025]本發(fā)明提供一種服務器連接裝置,包括:
[0026]獲取模塊,用于獲取視頻編碼過程中各個候選服務器的名稱;
[0027]第一確定模塊,用于在所述各個候選服務器中,確定名稱中存在預設(shè)字段的目標服務器;
[0028]第一添加模塊,用于將與所述目標服務器的名稱對應的服務器地址信息添加到循環(huán)隊列中,所述循環(huán)隊列中存儲有目標服務器的名稱、與目標服務器的名稱對應的服務器地址信息和目標服務器的數(shù)量;
[0029]第一發(fā)送模塊,用于當獲取到視頻編碼數(shù)據(jù)時,根據(jù)所述循環(huán)隊列中的服務器地址信息,向所述循環(huán)隊列中的服務器發(fā)送所述視頻編碼數(shù)據(jù)。
[0030]在一個實施例中,所述獲取模塊,包括:
[0031]獲取子模塊,用于獲取局域網(wǎng)中的設(shè)備名稱;
[0032]第一判斷子模塊,用于根據(jù)所述設(shè)備名稱判斷所述設(shè)備是否為服務器;
[0033]第一確定子模塊,用于當所述設(shè)備為服務器時,確定所述設(shè)備的名稱為候選服務器的名稱。
[0034]在一個實施例中,所述第一添加模塊,包括:
[0035]第二判斷子模塊,用于根據(jù)與所述目標服務器套接字連接字段判斷是否與所述目標服務器已建立視頻套接字連接;
[0036]第二確定子模塊,用于當與所述目標服務器套接字連接字段的值為I時,確定與所述套接字連接字段對應的目標服務器已建立連接;
[0037]添加子模塊,用于將所述目標服務器名稱對應的地址信息添加到循環(huán)隊列中。
[0038]在一個實施例中,所述裝置還包括:
[0039]第二確定模塊,用于當與所述循環(huán)隊列中的目標服務器套接字連接字段的值為O時,確定與所述目標服務器未建立連接;
[0040]建立模塊,用于重新建立與所述目標服務器的連接;
[0041]第二添加模塊,用于將重新建立連接的目標服務器添加到所述循環(huán)隊列中,并更新所述循環(huán)隊列中目標服務器的數(shù)量。
[0042]在一個實施例中,所述裝置還包括:
[0043]更新模塊,用于當所述循環(huán)列表包括等待接收所述視頻編碼數(shù)據(jù)的目標服務器的數(shù)量時,當向所述循環(huán)隊列中的服務器發(fā)送所述視頻編碼數(shù)據(jù)時,實時更新所述循環(huán)隊列中等待接收所述視頻編碼數(shù)據(jù)的目標服務器的數(shù)量;
[0044]第二發(fā)送模塊,用于當所述循環(huán)隊列中等待接收所述視頻編碼數(shù)據(jù)的服務器個數(shù)為O時,向所述循環(huán)隊列發(fā)送下一個視頻編碼數(shù)據(jù)或結(jié)束流程。
[0045]本發(fā)明的有益效果在于:通過確定服務器的名稱中是否存在預設(shè)字段來確定各服務器是否是目標服務器,可確定多個目標服務器;通過循環(huán)隊列統(tǒng)計目標服務器地址,當獲取到視頻編碼數(shù)據(jù)時,就向循環(huán)隊列中的服務器發(fā)送視頻編碼。實現(xiàn)了在視頻錄制過程中對多個服務器進行視頻數(shù)據(jù)的實時發(fā)送。
[0046]本發(fā)明的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在所寫的說明書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。
[0047]下面通過附圖和實施例,對本發(fā)明的技術(shù)方案做進一步的詳細描述。
【附圖說明】
[0048]附圖用來提供對本發(fā)明的進一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明的實施例一起用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的限制。在附圖中:
[0049]圖1為本發(fā)明實施例中服務器連接方法的流程圖。
[0050]圖2為本發(fā)明實施例中服務器連接方法的另一流程圖。
[0051]圖3為本發(fā)明實施例中服務器連接裝置的結(jié)構(gòu)圖。
[0052]圖4為本發(fā)明實施例中服務器連接裝置的另一結(jié)構(gòu)圖。
【具體實施方式】
[0053]以下結(jié)合附圖對本發(fā)明的優(yōu)選實施例進行說明,應當理解,此處所描述的優(yōu)選實施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。
[0054]首先,如圖1所示,本發(fā)明實施例提供一種服務器連接方法,該方法用于錄制視頻的設(shè)備,該設(shè)備通過網(wǎng)絡(luò)對具有播放需求的服務器進行實時的一對多發(fā)送,該方法包括如下步驟 S101-S104:
[0055]在步驟SlOl中,獲取視頻編碼過程中各個候選服務器的名稱。
[0056]在一個實施例中,獲取視頻編碼過程中各個候選服務器的名稱可包括如下步驟A1-A3:
[0057]在步驟Al中,獲取局域網(wǎng)中的設(shè)備名稱。
[0058]在步驟A2中,根據(jù)設(shè)備名稱判斷設(shè)備是否為服務器。
[0059]在步驟A3中,當設(shè)備為服務器時,確定該設(shè)備名稱為候選服務器的名稱。
[0060]舉例而言