開發環境:Linux,GCC 相關知識:TCP(博客:傳送門),線程 附加:項目可能還有寫不足之處,有些bug沒調出來(如:對在線人數的控制),希望大佬賜教。 那么話不多說,放碼過來: 碼雲:傳送門,GitHub:傳送門 服務端:server.c ...
之前在學習關於網絡tcp和多線程的編程,學了知識以后不用一下總絕對心虛,於是就編寫了一個基於tcp和多線程的多人聊天室。 具體的實現過程: 服務器端:綁定socket對象 gt 設置監聽數 gt 等待連接 gt 有客戶端連接就新建一個線程,這個線程中,一旦就收到這個客戶發送的消息,就廣播的向其他客戶端發送同樣的消息。 客戶端:向客戶端連接 gt 新建線程用來接收服務器端發送的消息,同時主進程用來發 ...
2018-08-07 10:52 0 3816 推薦指數:
開發環境:Linux,GCC 相關知識:TCP(博客:傳送門),線程 附加:項目可能還有寫不足之處,有些bug沒調出來(如:對在線人數的控制),希望大佬賜教。 那么話不多說,放碼過來: 碼雲:傳送門,GitHub:傳送門 服務端:server.c ...
[linux環境編程] TCP通信與多線程編程實現“多人在線聊天室” 一、基本概念 1、TCP通信 TCP(Transmission Control Protocol)就是傳輸控制通訊協議,是TCP/IP體系結構中最主要的傳輸協議。其“三次握手”提供了可靠的傳送,高可靠性保證 ...
最近在學習多線程的時候打算做一個簡單的多線程socke聊天的程序,結果發現網上的代碼都沒有完整的實現功能,所以自己實現了一個demo: demo功能大致就是,有一個服務端負責信息轉發,多個客戶端發送消息,當一個客戶端發送消息時,其他的客戶端都可以接受到。 服務端: 客戶端 ...
接上篇博文,本文是server端的實現,主要實現的功能,就是現實client的連接。轉發client發送的消息。以及client掉線提示等功能,同一時候能夠在這這上面擴展和TCP以及線程相關的功能木塊。 tcpreceive.h ...
具備注冊賬號,群聊,查看在線人員信息,私發文件和接收文件功能,因為每個客戶端只有一個屬於自己的socket,所以無論客戶端是發聊天消息還是文件都是通過這一個socket發送, 這也意味着服務器收發任何消息或文件都只能有一個select函數也意味着只能有一個收發消息的線程。 所以我定義了一個 ...
服務器端代碼 客戶端代碼 服務器處理socket的多線程 讀取客戶端輸入流多線程代碼 客戶端發送數據多線程代碼 ...
本來這次作業我是想搞個圖形界面的,然而現實情況是我把題意理解錯了,於是乎失去了最初的興致,還是把程序變成了功能正確但是“UI”不友好的console了,但是不管怎么樣,前期的圖形界面的開發還是很有收獲 ...
多線程開發和Socket技術 一、進程和線程 進程:每個應用程序對應一個進程; 線程:一個進程至少包含一個線程,線程要和CPU進行交互。 多線程並發(可以理解為):"同一時間"執行多件事情,如程序一邊執行,一邊計數(計時);如人一邊吃飯,一邊看電視。 多線程並發的本質 ...