tcpserver.cpp:
// tcpserver.cpp : defines the entry point for the console application.
#include "stdafx.h"
#include
#include
#include
using namespace std;
#pragma comment(lib,"ws2_32.lib")
const char *welcomtochatroom = "歡迎來到聊天室";
const char *messagecomed = "收到客戶端發來的資訊:";
const char *answer = "您的回覆是:";
const char *waiforclient = "等待客戶連線.......";
int main()
; addrserv.sin_addr.s_un.s_addr = inaddr_any;//所有ip位址
addrserv.sin_family = af_inet;//ipv4
addrserv.sin_port = htons(10800);//埠
//繫結
if (socket_error == bind(socketserv, (sockaddr*)&addrserv, sizeof(addrserv)))
break;
if (socket_error == listen(socketserv, somaxconn))
break;
sockaddr_in addrclient = ;
int naddrsize = sizeof(addrclient);
//等待客戶連線
cout << waiforclient << endl;
socketclient = accept(socketserv, (sockadd程式設計客棧r*)&addrclient, &naddrsize);程式設計客棧
if (invalid_socket == socketclient)
break;
if (socket_error == send(socketclient, welcomtochatroom, strlen(welcomtochatroom)+1,0))
break;
char szrecvmessage[maxbyte] = ;
char szsendmessage[maxbyte] = ;
while (true)
else if (nresult == 0)
else
}bsuccess = true;
} while (false);
if (!bsuccess)
wsacleanup();
system("pause");
return 0;
}tcpclient.cpp:
// tcpclient.cpp : defines the entry point for the console application.
//#include "stdafx.h"
#include
//#include
#include
using namespace std;
#pragma comment(lib,"ws2_32.lib")
const char *serveripaddress = "192.168.8.106";
int main()
; addrserv.sin_family = af_inet;
addrserv.sin_port = htons(10800);
addrserv.sin_addr.s_un.s_addr = inet_addr(serveripaddress);
//撥打號碼
if (socket_error =程式設計客棧= connect(socketclient, (sockaddr*)&addrserv, sizeof(addrserv)))
break;
char szrecvmessage[maxbyte] = ;
char szsendmessage[maxbyte] = ;
while (true)
else if (nresult == 0)//連線被關閉
else
}bsuccess = true;
} while (false);
if (!bsuccess)
wsacleanup();
system("pause");
return 0;
}本文標題: 基於c++實現tcp聊天室功能
本文位址:
Linux下基於TCP的聊天室
能夠實現簡單的多人聊天和私聊 伺服器接收來自客戶端的連線請求,當有客戶端傳送過來資料時,伺服器將資料儲存到全域性緩衝區,並將資料迴圈傳送給已經連線的客戶端 不解釋直接上 伺服器 include include include include include include include inclu...
TCP協議實現的聊天室
分析功能 1 客戶端登入 1 伺服器 1.使用迴圈一直監聽客戶端的連線 2.伺服器的收和發執行緒寫到一起 serverthread類 3.在伺服器中使用字元流進行收發,先讀客戶端登入名資料,再 出去 2 客戶端 1.傳送資料到伺服器 sendthread 2.接收伺服器中 的資料 recvthrea...
使用websocket實現聊天室功能
websocket 是 html5 開始提供的一種在單個 tcp 連線上進行全雙工通訊的協議。websocket 使得客戶端和伺服器之間的資料交換變得更加簡單,允許服務端主動向客戶端推送資料。在 websocket api 中,瀏覽器和伺服器只需要完成一次握手,兩者之間就直接可以建立永續性的連線,並...