基於C 實現TCP聊天室功能

2022-09-27 03:33:09 字數 2357 閱讀 6094

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 中,瀏覽器和伺服器只需要完成一次握手,兩者之間就直接可以建立永續性的連線,並...