基於C 的區域網聊天系統客戶

2021-06-06 00:12:31 字數 1721 閱讀 4821

/** chat_client.h

**  created on: 2012-4-19

*      author: root

*/#ifndef chat_client_h_

#define chat_client_h_

#include

#include

#include

#include

#include

#include

#include

using namespace std;

#include

#include

#define  ip "127.0.0.1"

#define  port 6000

typedef struct client_pock

pocket;

class chat_client

;~chat_client(){};

static void* handle_msg(void* temp);

int  netinit();

void chat_info();

};#endif /* chat_client_h_ */

/** chat_client.cpp

**  created on: 2012-4-19

*      author: root

*/#include "chat_client.h"

int chat_client::clientfd ;

void* chat_client::handle_msg(void* temp)

char* pbuf = buf;

memcpy(&pt.logname,pbuf,20);

cout << "你好" << pt.logname <<"你有來自";

pbuf += 20;

memcpy(&pt.group,pbuf,4);

if(!strcmp(pt.group,"y"))

else}}

int  chat_client::netinit()

struct sockaddr_in sock_cc;

sock_cc.sin_family = pf_inet;

sock_cc.sin_port = htons(port);

inet_pton(pf_inet,ip,&sock_cc.sin_addr.s_addr);

if( connect(clientfd,(struct sockaddr*)&sock_cc,sizeof(sock_cc) ) < 0 )

return 0;

}void chat_client::chat_info()

else

char buf[1024];

memset(buf,0,1024);

memcpy(buf,&send_pock,sizeof(send_pock));

int n = write(clientfd, buf, sizeof(buf));

if (n < 0)}}

/** chat_client_main.cpp

**  created on: 2012-4-19

*      author: root

*/#include "chat_client.h"

int main(int argc,char** argv)

區域網聊天專案 2018 07 28

伺服器能開啟的最多檔案描述符是有限的 1024 socket的連包問題。客戶端和伺服器端進行互動。傳送端的連包問題。json包,如果兩個json包連在一起,則解析的時候只能解析第乙個包,壓根就不知道第二個json包的存在。在每乙個json包裡加乙個size選項,邊界也要加上。滑動視窗協議 1bit滑...

Qt編寫的區域網聊天程式

這個程式足足用了乙個月的時間,也怪小生內功不強,但此番修煉著實受益良多。整體程式不建議大家觀摩,主要是太亂了。在這裡我會將其中的幾個重要部分剝離出來和大家分享。該程式介面靈感 於網路,小生不才,又加了一部分自己的愚見,還望源作者能夠原諒。此程式借鑑了江湖上的各位大俠的秘籍和高招,既然 於江湖,就回歸...

基於python的簡易區域網聊天工具

threading 多執行緒模組,實現同時接收,同時傳送 本地機器兩個命令視窗不同埠號執行,實際使用可在區域網內電腦執行 接受資訊函式 def rec upd while true 接收訊息,最多為1024位元組 data upd.recvfrom 1024 data為乙個元組,info為資訊內容,...