999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Socket在C#程序中的應用

2014-03-20 07:18:08許銳炮
科技視界 2014年21期
關鍵詞:網絡通信運行機制方法

許銳炮

(民航汕頭空管站 技術保障部,廣東 揭東515558)

0 引言

當前網絡通信日益應用廣泛,以民航汕頭空管站為例,單業務網就超過5 個,而信息化集中程度越來越多的同時,分布式系統之間的信息傳輸也成為一個研究課題。 而對于傳統的TCP/IP 協議來說,TCP能提供一種可靠的、有連接的數據流服務,IP 協議則能通過識別IP 地址實現網絡個體的互相通信, 相關文獻也將兩者稱為底層網絡通信。而對比之下,已經成熟應用的Socket 中間件便可以以應用程序的方式存在于各大網絡分布式系統,應用日趨廣泛。因此,探討Socket 的運行機制及應用對相關網絡編程和技術維護有一定意義。本文將從實際出發,介紹其在C# 程序編寫中的相關技術及特點。

1 Socket 運行機制

Socket 是應用層與TCP/IP 協議族通信的中間軟件抽象層,它是一組接口。 在設計模式中,Socket 作為一個門面模式把復雜的TCP/IP 協議族隱藏在Socket 接口后面,對開發人員來說,一組簡單的接口就是全部,讓Socket 去組織數據,以符合指定的協議。 它主要由IP 地址和端口號組成。 在TCP/IP 網絡協議中, 基于服務器客戶端模式的通信上,建立Socket 連接至少需要一對套接字,其中一個運行于客戶端,稱為ClientSocket , 另一個運行于服務器端, 稱為ServerSocket 。 對于ServerSocket 來說主要用于服務器監聽, 服務器端套接字并不定位具體的客戶端套接字,而是處于等待連接的狀態,實時監控網絡狀態,等待客戶端的連接請求。一旦有請求或者相關命令信息,立即響應。而對于ClientSocket 來說將主動向服務器端套接字發出連接請求。因此,客戶端的套接字必須首先描述它要連接的服務器的套接字,指出服務器端套接字的地址和端口號, 然后就向服務器端套接字提出連接請求。當服務器端套接字監聽到或者說接收到客戶端套接字的連接請求時,就響應客戶端套接字的請求,建立一個新的線程,把服務器端套接字的描述發給客戶端,一旦客戶端確認了此描述,雙方就正式建立連接。而服務器端套接字繼續處于監聽狀態,繼續接收其他客戶端套接字的連接請求。

2 Socket 在C# 編程中的機制

2.1 C# 中的Socket 類

C# Socket 類為網絡通信提供了一套豐富的方法和屬性。 Socket類允許開發人員使用ProtocolType 枚舉中所列出的任何一種協議執行異步和同步數據傳輸。 如果應用程序在執行期間只需要一個線程。對于面向連接的協議的TCP 協議通信, 服務器可以使用Listen 方法偵聽連接。 Accept 方法則處理任何傳入的連接請求,并返回可用于與遠程主機進行數據通信的Socket。 同時可以使用此返回的Socket 來調用Send 或Receive 方法。 調用Bind 方法后便可以要指定本地IP地址和端口號。連接偵聽主機,則可以調用Connect 方法。在數據通信上,主要用Send 或Receive 方法。

對 于TCP/IP 的 通 信 在C# 中 可 使 用 Socket、BeginConnect 和EndConnect 方法來連接偵聽主機。 通過使用BeginSend 和EndSend方法,或者使用BeginReceive 和EndReceive 方法,可以進行異步數據通信。 與此同時,使用BeginAccept 和EndAccept 處理傳入的連接請求。

而在實際應用中,C# 的Socket 經常需要與多線程配合以解決異步傳輸問題。C# 支持通過多線程并行地執行代碼,一個線程有它獨立的執行路徑,能夠與其它的線程同時地運行。一個C# 程序開始于一個單線程,這個單線程是被CLR 和操作系統(也稱為“主線程”)自動創建的,并具有多線程創建額外的線程。

2.2 實際應用

作為典型的C/S 模式結構設計,一般情況下包括服務器端軟件設計和客戶端軟件設計,因此服務器端軟件與客戶端軟件不可避免需要對其進行網絡通信編程。以客戶端軟件設計為例,Socket 在C# 中則可以通過以下實現:

private IPEndPoint ServerInfo;

private Socket ClientSocket;

private Byte[] MsgBuffer;//信息接收緩存

private Byte[] MsgSend; //信息發送存儲

ClientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

MsgBuffer = new Byte[65535];

MsgSend = new Byte[65535];

this.UserName.Text =Environment.MachineName;

ServerInfo = new IPEndPoint (IPAddress.Parse(this.ServerIP.Text),Convert.ToInt32(this.ServerPort.Text));

ClientSocket.Connect(ServerInfo);

ClientSocket.Send (Encoding.Unicode.GetBytes (" 用 戶: " + this.UserName.Text + " 進入系統! "));

ClientSocket.BeginReceive (MsgBuffer, 0, MsgBuffer.Length,SocketFlags.None, new AsyncCallback(ReceiveCallBack), null);

3 結束語

本文討論了Socket 的運行機制以及其在C# 編程中的設計以及相關技術功能,Socket 作為一種應用程序接口其在實際應用中將底層的相關通信協議等各種技術封裝在程序背后, 為開發人員提供了快速、高效的開發方式。 討論其運行機制,對開發和技術維護有實際意義。

[1]胡晶晶,魯漫紅.基于Java Socket 的聊天室系統設計與實現[J].微處理機,2010,5:66-70.

[2]周譚凱,馬玉祥.網絡通信編程架構研究[J].電子科技,2005(12).

[3]寇海洲,宗慧.利用Socket 實現被動方式實時提醒系統設計[J].淮陰工學院學報,2008(03).

猜你喜歡
網絡通信運行機制方法
海上軍用網絡通信的安全控制技術
網上公共服務平臺運行機制評析
基于網絡通信的智能照明系統設計
電子制作(2019年15期)2019-08-27 01:11:48
網絡通信中信息隱藏技術的應用
談計算機網絡通信常見問題及技術發展
電子制作(2017年17期)2017-12-18 06:41:06
減刑、假釋工作運行機制之重構
校企合作運行機制初探
新課程研究(2016年1期)2016-12-01 05:52:15
可能是方法不對
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
主站蜘蛛池模板: 99精品在线看| 国产福利小视频高清在线观看| 91成人在线免费观看| 无码一区18禁| 国产成人一区在线播放| 一区二区三区四区精品视频 | 狠狠色成人综合首页| 国产精品亚洲综合久久小说| 欧美激情视频一区| 亚洲无码精彩视频在线观看| 久久国产精品麻豆系列| 午夜老司机永久免费看片| 亚洲综合久久一本伊一区| 国产精品主播| 国产成人精品第一区二区| 九九免费观看全部免费视频| 美女无遮挡免费网站| 国产精品欧美日本韩免费一区二区三区不卡| 欧美97色| 亚洲精品成人福利在线电影| 国产色爱av资源综合区| 国产91透明丝袜美腿在线| 夜夜拍夜夜爽| 国产永久在线观看| 亚洲人成网18禁| 中文字幕在线看| 国产丰满大乳无码免费播放| 国产毛片片精品天天看视频| 九九九久久国产精品| 全部无卡免费的毛片在线看| www.av男人.com| 亚洲娇小与黑人巨大交| 朝桐光一区二区| 黄网站欧美内射| 亚洲欧美一区二区三区蜜芽| 思思热精品在线8| 欧美午夜理伦三级在线观看| 国产黄在线免费观看| 欧美精品导航| 国产成人啪视频一区二区三区| 国产在线自在拍91精品黑人| 青青草国产一区二区三区| 91麻豆精品国产91久久久久| 美女视频黄又黄又免费高清| 波多野吉衣一区二区三区av| 999精品色在线观看| 一级毛片无毒不卡直接观看| 久久久久夜色精品波多野结衣| 亚洲高清免费在线观看| 欧美、日韩、国产综合一区| 国产精品欧美日本韩免费一区二区三区不卡| 国产理论一区| 99热这里只有精品国产99| 欧美劲爆第一页| 看国产毛片| 国产九九精品视频| 女高中生自慰污污网站| 国产激情在线视频| 福利在线一区| 亚洲啪啪网| 日本高清视频在线www色| lhav亚洲精品| 国产成人欧美| 婷婷丁香色| 极品av一区二区| 伊人色综合久久天天| 久久精品人人做人人| av手机版在线播放| 一区二区欧美日韩高清免费| 国产第一页免费浮力影院| 久久久噜噜噜| 亚洲日韩Av中文字幕无码| 性欧美在线| 成人在线天堂| 欧美精品一区二区三区中文字幕| 国产91在线免费视频| 欧美福利在线观看| 欧美亚洲日韩中文| 日韩精品无码免费一区二区三区| 国产成人亚洲无吗淙合青草| 国产成人高清精品免费软件| 成人小视频网|