p2pchating p2p聊天程式
p2pchating
學校佈置的作業 p2p聊天系統 qt寫的介面 C++實現
程式碼簡單易懂,沒啥好說的
先說下實現思路
伺服器端用的網路程式設計那一套,加了個多執行緒,每個新使用者上線之後都是一個新程序提供服務。伺服器負責維護一個使用者資訊表,裡面有暱稱,ip,port,上線時間以及是否線上之類的東西。
客戶端,啟動的時候連結伺服器,登入時把使用者名稱傳送給伺服器,伺服器負責做驗證,返回登入成功之後進入聊天介面。
聊天功能的實現基於每3秒想伺服器請求一次線上使用者列表,而列表裡面包含了對應線上使用者的ip和埠。每個客戶端想要人溝通的時候啟動監聽,這時候其他人可以連上他進行交流。
使用方法
p2pchating 是客戶端,用qt開啟編譯即可
p2pchatingServer 是伺服器,用了cmake,在build資料夾下清除我的資訊之後cmake即可
放兩個執行截圖
原始碼都在github上,地址
相關推薦
p2pchating p2p聊天程式
p2pchating 學校佈置的作業 p2p聊天系統 qt寫的介面 C++實現 程式碼簡單易懂,沒啥好說的 先說下實現思路 伺服器端用的網路程式設計那一套,加了個多執行緒,每個新使用者上線之後都是一個新程序提供服務。伺服器負責維護一個使用者資訊表,裡面有暱稱,i
基於Android WiFi直連的P2P聊天程式
要實現點對點通訊,過程其實很簡單,首先要建立連線,接著取得對方節點的ip地址,最後通過socket通訊即可實現。 通過Android提供的WiFi直連技術,可獲得同一WiFi下的裝置列表,選擇其中一臺即可實現連線。 首先要在AndroidManifest.xml檔案中新增許
基於go-ethereum/p2p模組的聊天程式
以太坊的p2p模組實現了一個p2p分散式網路,是實現以太坊分散式錢包的關鍵技術。p2p模組的說明見官方github的wiki。本文要實現的是使用以太坊的p2p模組來實現一個簡單的聊天程式。1 P2P基本原理2 編譯並啟動以太坊的bootnodebootnode節點可以作為p2
多執行緒版本TCP聊天程式服務端
這是一個通過多執行緒來實現可以接受多個客戶端的TCP聊天程式。 //這是一個實現多執行緒TCP的聊天程式服務端 #include<stdio.h> #include<stdlib.h> #includ
多程序版本TCP聊天程式服務端
我們上次寫了利用TCP協議來實現的簡單的網路聊天程式,我們實現的是一對一的聊天, 但是如果我們通過上次的程式來實現多對一呢? 我們可以看出來其中一個客戶端可以和服務端正常交流,但是另一個客戶端是連結不上服務端的,即
TCP實現簡單聊天程式
上次我們通過UDP來實現了簡單的聊天程式,這次我們用TCP協議來實現,TCP和UDP不同的是TCP需要建立連線。 //這是一個通過TCP協議來實現聊天的程式 //1.建立socket //2.為socket繫結地址 //3.向服務端傳送連結請求 //4.傳送資料 //
Java UDP通訊聊天程式
編寫兩個新的VC程式,完成以下功能: 一個程式為服務端,建立UDP服務端套接字。 另外一個程式為客戶端,建立UDP客戶端套接字。 這兩個新程式可以互聯,完成一個基於TCP/IP網路的文字聊天程式。 因為TCP需要三次握手,所以只能一來一回的實現聊天程式,而UDP可以只負責
Java TCP通訊聊天程式
編寫兩個java application應用程式,完成以下功能: 一個程式為服務端,建立TCP服務端套接字。 另外一個程式為客戶端,建立TCP客戶端套接字。 這兩個程式可以互聯,完成一個基於TCP/IP網路的文字聊天程式。 伺服器: import java.io.IO
python編寫簡單聊天程式
socket模組相關的方法和類 socket.socket():返回一個 socket物件。 socket.create_connection(address):建立一個連線到給定地址的 socket物件(注意:此處的 address是一個二元元組(host,
python核心程式設計,使用了twisted.internet類建立一個簡單的半雙工聊天程式
Server部分: '''Created on 2018年5月6日一個時間戳TCP伺服器,他使用了twisted.internet類@author: Administrator'''from twisted.internet import protocol,reactorfrom time imp
JAVA——基於TCP協議的文字聊天程式
基於TCP協議的文字聊天程式 1.要求 使用JAVA完成一個基於TCP協議的文字聊天程式,建立TCP客戶端套接字,分別為服務端和客戶端,並使兩端可以互聯。 2.TCP協議 在TCP協議中,有伺服器端(Server端)和客戶端(Client端)的概念。TCP傳輸資料的
JAVA——基於UDP協議的文字聊天程式
基於UDP協議的文字聊天程式 1.要求 使用JAVA完成一個基於TCP協議的文字聊天程式,建立TCP客戶端套接字,分別為服務端和客戶端,並使兩端可以互聯。 2.UDP協議 在UDP協議中,沒有TCP中所謂的伺服器端和客戶端,而是有資料的傳送端和接收端。也就是說UDP
利用訊息佇列實現簡單聊天程式
本篇利用訊息佇列的特性實現簡單的聊天程式,msgsnd傳送資料,msgrcv接收資料來實現聊天功能,訊息佇列詳情。 資料接收端msgrcv //這是一個以system V訊息佇列實現的聊天程式客戶端 //// 1.建立訊息佇列 //// 2.從訊息佇列中獲取一個數據,打印出來 ///
用socket寫一個簡單的聊天程式
服務端程式碼: # 建立socket物件:socket.socket()——>繫結IP地址和埠:bind——>監聽:listen——># 得到請求:accept——>接收請求:recv——>傳送資訊:send——>關閉close i
java於網路:P2P聊天系統
之前學習完了網路和java跟網路的相關知識,想試著寫點東西,可又無從下手....於是就跟著書上完成了這個聊天系統 該系統能夠提供聊天和多人聊天,只要輸入註冊名和IP地址註冊和選擇聊天物件即可 資訊伺服器&nbs
Socket程式設計-TCP實現簡單聊天程式
在System.net.Sockets的名稱空間中,TcpListener類與TcpClient類是兩個專門用於TCP協議程式設計的類,它們封裝了底層的套接字並分別提供了用Socket進行同步和非同步通訊的方法,降低了TCP應用程式設計的難度。 在網路應用程式設計中,利用TCP協議編寫的程式
網路程式設計套接字、網路位元組序及用udp寫客戶端和服務端聊天程式
認識IP地址 IP協議有兩個版本:IPV4和IPV6。 IPV4:IPV4版本的IP地址是4位元組無符號整數。那麼就存在IP地址資源匱乏的時候,這時可以採用兩種方法: DHCP:ip地址動態分配(應用層協議); NAT: 地址替換; 但是這兩種方法只是暫時的有I
JAVA——基於TCP/IP網路的文字聊天程式
基於TCP/IP網路的文字聊天程式 1.要求 使用JAVA完成一個基於TCP/IP網路的文字聊天程式,建立TCP客戶端套接字,分別為服務端和客戶端,並使兩端可以互聯。 2.TCP協議 在TCP協議中,有伺服器端(Server端)和客戶端(Client端)的概念
多程序和多執行緒簡單tcp聊天程式
如果需要一個服務端可以連線多個客戶端,並同時與多個(不超多listen第二個引數及最大同時併發數)客戶端通訊,可以利用多程序即建立子程序,子程序來完成服務端的接受和傳送資料;也可以建立多個執行緒。對於tcp一些介面具體使用可以檢視這篇部落格:https://bl
簡單的聊天程式(java的socket+多執行緒)
服務端 import java.net.*; import java.util.*; import java.io.*; public class ChatServer { ServerSocket server = null; Collection