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

正文內(nèi)容

基于tcp的局域網(wǎng)視頻聊天程序課程設(shè)計-資料下載頁

2024-11-16 20:04本頁面

【導讀】本課程設(shè)計的基本要求是在校園網(wǎng)范圍內(nèi)能進行視頻聊天,文字聊天,文件傳輸。在某些時刻也作為服務(wù)端使用。服務(wù)端首先啟動開始監(jiān)聽消息傳輸時使用的端口,當客。戶端啟動時,主動連接服務(wù)端。原理圖如下所示:。相同可在輸出文件之前由發(fā)送方告訴接受方本次輸出所用的緩沖區(qū)的大小。視頻的傳輸過程利用了和完成攝像頭的視頻采集。WindowAPI應(yīng)用程序接口的相關(guān)模塊。以方便地對攝像頭和其他視頻硬件進行API電影和視頻的截取。接收函數(shù)、文件發(fā)送函數(shù)、文件接收函數(shù)、視頻發(fā)送函數(shù)、視頻接收函數(shù)。

  

【正文】 private void listentCamera() { = false。 IPAddress myIP = (())[0]。//本機 IP地址 ServerMessageSocket = new Socket(, , )。 (new IPEndPoint(myIP, camera_port))。//監(jiān)聽端口 (1)。 Socket client = ()。 message = () + : 對方 + + 請求視頻 \n。 AddMessage(message)。//打印消息 if (single) { while (true) {//接受視頻函數(shù)的主體 byte[] buffer = (client)。 receiveMS = new MemoryStream(buffer)。 = (receiveMS)。//顯示到控件 ()。//關(guān)閉內(nèi)存流 } } else { yulan = false。 25 = 取消預覽 。 LocalVedioShow()。 Thread sendshipin = new Thread(sendSP)。 ()。 while (true) { byte[] buffer = (client)。 receiveMS = new MemoryStream(buffer)。 = (receiveMS)。 ()。 } } ()。 } //發(fā)送視頻 private void sendSP() { try { IPEndPoint ipep = new IPEndPoint(SendIP, camera_port1)。 //創(chuàng)建套接字 client_camera = new Socket(, , )。 //連接到發(fā)送端 (ipep)。 = true。 = 10。 } catch (Exception ex) { (服務(wù)尚未開啟 )。 } } //監(jiān)聽接收消息進程 private void ListenMessage() { IPAddress myIP = (())[0]。//獲取本機的IP地址 ServerMessageSocket = new Socket(, , )。 (new IPEndPoint(myIP, myport2))。//綁定端口號 (10)。//等待客戶鏈接 client = ()。 IPEndPoint ip1 = (IPEndPoint)。//獲取對方的 IP地址 26 SendIP = 。//將對方的 IP地址保存到全局變量中,以后使用 message = () + : 客戶端 ++接入 \n。 AddMessage(message)。//打印提示消息 while (Flag == true)//接受對方發(fā)過來的消息 { string Message = 對方 : + ((client)) + \n。 AddMessage(Message)。 } } //監(jiān)聽文件接收端 private void ListenFile() { IPAddress myIP = (())[0]。 ServerFileSocket = new Socket(, , )。 (new IPEndPoint(myIP, myport1))。 (10)。 //等待客戶鏈接 while (Flag==true) { Socket client = ()。 message = () + : 客戶端 : + () + 接入 \n。 AddMessage(message)。 Thread rec = new Thread(ReceiveFile)。 (client)。 } } /// summary /// 接收文件的函數(shù) /// /summary /// param name=Myclient/param public void ReceiveFile(Object Myclient) { Socket client = (Socket)Myclient。 string SendFileName = ((client))。//獲得 [文件名 ] string Path = (0, (\\) + 1)。//獲取目錄信息 if (!(@Path))//創(chuàng)建目錄 (@Path)。 else 27 {//如果目錄已經(jīng)存在則刪除原有的目錄信息 (@Path, true)。 (@Path)。 } FileStream MyFileStream = new FileStream(SendFileName, , )。//創(chuàng)建一個新文件 int SendedCount = 0。//已發(fā)送包的個數(shù) while (true) { byte[] data = (client)。 if ( == 0) { break。 } else { SendedCount++。 //將接收到的 數(shù)據(jù)包寫入到文件流對象 (data, 0, )。 } } //關(guān)閉文件流 ()。 message = () + : 文件傳輸完成!文件保存在+SendFileName+\n。 AddMessage(message)。//打印出提示信息 } /// summary ///利用委托向 RichTextBox中添加信息 /// /summary /// param name=message/param private delegate void AddMessageDelegate(string message)。 public void AddMessage(string message) { if () { AddMessageDelegate d = AddMessage。 (d, message)。 } else { (message)。 } } 28 private void WC_Click(object sender, EventArgs e) { try { ()。 ()。 ()。 ()。 } catch { } ()。 } private void Form1_FormClosing(object sender, FormClosingEventArgs e) { try { ()。 ()。 ()。 ()。 } catch(NullReferenceException ex) { } ()。 } private void SM_Click(object sender, EventArgs e) { string Message = 。 ()。 AddMessage(我 : + Message + \n)。 try { (client, (Message))。 } catch { (請開啟服務(wù)! )。 } } private void Search_Click(object sender, EventArgs e) { 29 if (() == ) { = 。 } } private void SF_Click(object sender, EventArgs e) { if ( == 0) { (請選擇文
點擊復制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1