freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

基于c#局域網視頻聊天設計-全文預覽

2024-09-28 18:25 上一頁面

下一頁面
  

【正文】 設置的選項 /// /summary protected override void OnStart(string[] args) { ThreadStart starter = new ThreadStart(Run)。 /// summary /// The thread will run the job. /// The job is the Method Run() below /// /summary protected Thread thread = null。 15 if ( ) { ()。 } protected override void Dispose( bool disposing ) { if( disposing ) { if (ponents != null) { ()。 } WebCamService 類 : namespace WebCamService { public class WebCamService : ServiceBase { region Required Service Related Methods private ponents = null。 obj = new object()。 public byte [] byBuff。 ()。 ( , 0, , , receiveData, s )。 } } } // Client has sent data, or has disconnected private void OnReceivedData( IAsyncResult ar ) { // Socket was the passed in object SockWrapper s = (SockWrapper)。 // (Re)Setup a callback to be notified of connection requests (new AsyncCallback( OnConnectRequest ) , listener )。 ( s )。 if (bSend) (b, iLength, )。 throw。 ( new IPEndPoint( ip, nPortListen ) )。 ShutDownReady = new ManualResetEvent(false)。 public event TcpConnected Disconnected。 } // Send to all connected clients public void SendToAll(MemoryStream m) { _SendToAll((), (int))。 ()。 } } if (t != null) { // Listen for the async listener to let go. This must be done // outside the crit section since the listener needs to lock it. (3000, false)。 ()。t // cancel the async call. Grr. As a workaround, this routine // makes a connection to the port. The OnConnect routine, recognizing // that we are in shutdown, doesn39。 } public TcpServer(int nPortListen) { _TcpServer(nPortListen, GetAddresses()[0])。 else IPHostEntry ipEntry = ( strHostName )。 endregion // Return an array of the ip addresses assigned to this pc public static IPAddress [] GetAddresses() { IPAddress [] aryLocalAddr = null。 region Member variables private ArrayList m_aryClients。 服務器端連接,是指當服務器端 socket接收到客戶端 socket的連接 請求后,就把服務器端 socket 的描述發(fā)給客戶端,一旦客戶端確認了此描述,連接就建立了。為此,客戶端的 socket 必須首先描述它要連接的服務器端socket(主要是指服務器 端 socket 的地址和端口號 ),然后再定位所要連接的服務器端 socket,找到以后,就向服務器端 socket 請求連接。 面向連接的 c/s時序圖如圖 41所示 服務器 客戶端 客戶端 . . . 5 圖 41 程序時序圖 系統(tǒng)由服務器終端采集傳輸系統(tǒng)和客戶端接收系統(tǒng)兩部分組,系統(tǒng)構架如圖 42所示 圖 42 系統(tǒng)架構 程序設計分析 Accept() Recv() Send() Close() Listen() Bind() Socket() 服務器 發(fā)送數據 確認發(fā)送數據 請求建立連接 Recv() Close() Send() Connect() Socket() 客戶 攝像頭 采集卡 服務器服務程序 網絡傳輸模塊 網絡接收模塊 客戶端程序 解碼 顯示 視頻流 控制指令 視頻流 控制指令 6 任務目標 服務器端程序目標:服務器服務器端服務程序進行數據采集(捕捉攝像頭捕獲數據),提供IP端口實現(xiàn)數據流的傳輸。 C/S 架構 在網絡連接模式 中除對等網外 ,還有另一種形式的網絡,即客戶機 /服務器網,Client/Server。 TCP將包排序并進行錯誤檢查,同時實現(xiàn)虛電路間的連接。 IP 數據包中含有發(fā)送它的主機的地址(源地址)和接收它的主機的地址 4 (目的地址)。用戶為了傳輸一個文件請求一個和其它計算機的連接,連接 建立后,就開始傳輸文件。通過這一過程, IP 和其它網絡層的協(xié)議共同用于數據傳輸。這些協(xié)議是在系統(tǒng)表層以下工作的。 運用 DirectShow,可以很方便地從支持 WDM 驅動模型的采集卡上采集數據,并且調用其 API 函數進行后期處理。監(jiān)控服務器通過 Inter/Intra 輪詢網絡攝像機獲取視頻。因為 Windows服 務程序沒有用戶界面,為了能使一個Windows服務程序能夠正常并有效的在系統(tǒng)環(huán)境下工作,程序員必須實現(xiàn)一系列的方法來完成其服務功能。對于自動啟動的 Windows服務程序,它們在 Windows啟動或是重啟之后用戶登錄之前就開始執(zhí)行了??蓴U展性好。 本系統(tǒng)采用 DirectShow 網 絡組播技術實現(xiàn)了視頻捕獲、視頻壓縮、網絡傳輸、視頻解碼和實時回放,減小了網絡帶寬占用,高效的傳輸視頻數據,獨立于硬件。這些啟動方式包括了自動啟動和手動啟動兩種 。因為 Windows服務程序一般是沒有用戶界面的,所以你也要通過命令行工具或是下面圖中的工具來停止它,或是在系統(tǒng)關閉時使得 Windows服務程序自動停止。對于網絡攝像機 傳輸的視頻數據,需要專門的 Filter 來處理并在DirectShow 的框架下或回放,或保存。 DirectShow 為多媒體流的捕捉和回放以及二次開發(fā)提供了強有力的支持。 TCP/IP 協(xié)議 在 TCP/IP協(xié)議組分兩種協(xié)議:網絡層的協(xié)議 , 應用層的協(xié)議 ? 網絡層 協(xié)議 網絡層協(xié)議管理離散的計算機間的數據傳輸。在機器 IP 地址和其它信息的基礎上, IP 確保信息包能正確地到達目的機器。比如,文件傳輸協(xié)議 (FTP)用戶是看得到的。 IP數據包是不可靠的,因為 IP并沒有做任何事情來確認數據包是按順序發(fā)送的或者沒有被破壞。 ? TCP 如果 IP數據包中有已經封好的 TCP數據包,那么 IP 將把它們向上傳送到 TCP 層。應用程序輪流將信息送回 TCP 層, TCP 層便將它們向下傳送到 IP層,設備驅動程序和物理介質,最后到接收方。無連接的服務進程也必須首先啟動以指定本地的套接字地址否則客戶進程的數據服務請求傳送不到服務器進程。 客戶端連接是指由客戶端的 socket 提出連接請求,要連接的目標是服務器端的 socket。當服務器端 socket 監(jiān)聽到或者說 接收到客戶端 socket 的連接請求,它就響應客戶端 socket 的請求建立一個新的 socket 句柄并與客戶 端連接,而服務器端 socket 繼續(xù)處于監(jiān)聽狀態(tài),還可以接收其它客戶端 socket 的連接請求。s the number // that can queue up waiting for you to Accept them. If more than MAXCONNECTION // more clients try to connect while you are servicing another, OnConnect is // probably taking too long. 7 const int MAXCONNECTIONS = 3。 private ManualResetEvent ShutDownReady。 if USING_NET11 IPHostEntry ipEntry = ( strHostName )。 } return aryLocalAddr。t close the listener // while there is an outstanding async call active. And you can39。 // Disconnect each client foreach (SockWrapper s in m_aryClients) { try { ()。
點擊復制文檔內容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1