當前位置:首頁 » 編程語言 » c語言實現聊天
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言實現聊天

發布時間: 2022-01-22 08:46:22

c語言聊天程序

老兄,你好!看到你問題,我幫你寫好一個(花了我兩天啊)!是用純C語言寫的,可是代碼太,發不過!
你留個郵箱給我,我發給你
362226180是我的QQ,
你要的功能,我都幫你實現了

⑵ 如何用c語言編寫QQ聊天程序(源代碼)

1、首先,我們編寫C語言的頭文件#include <stdio.h>。

⑶ 求C語言高手,實現一個簡單的TCPIP程序以實現兩台計算機之間的聊天通信,

你上面給出的代碼其實就是MSDN裡面的演示代碼,不過不完整,只演示了兩個函數的使用,我給你看看我寫的TCP通訊程序,可以在同一個區域網內的兩台不同計算機之間聊天:

這其實就是某本將網路通訊的教程裡面的例子,不過是我自己重寫了一遍,下面給你代碼:

========================

下面是公共代碼:

========================

#ifndef__CINITSOCK__H__

#define__CINITSOCK__H__

#include<winsock2.h>

#include<iphlpapi.h>

#pragmacomment(lib,"ws2_32.lib")

#pragmacomment(lib,"iphlpapi.lib")

classCInitSock

{

public:

CInitSock(intnMinorVer=2,intnMajorVer=2)

{

WSADATAwsData;

WORDwVer=MAKEWORD(nMinorVer,nMajorVer);

if(0!=WSAStartup(wVer,&wsData))exit(0);

}

~CInitSock()

{

WSACleanup();

}

};

#endif

========================

下面是客戶端的代碼:

=======================

#include"CInitSock.h"

#include<iostream>

usingnamespacestd;

CInitSockg_Sock;

voidmain()

{

SOCKETsockClient=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);

if(INVALID_SOCKET==sockClient)

return;

sockaddr_insockAddr;

sockAddr.sin_family=AF_INET;

sockAddr.sin_port=htons(4567);

sockAddr.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");

if(-1==connect(sockClient,(sockaddr*)&sockAddr,sizeof(sockAddr)))

{

cout<<"connectfailed"<<endl;

return;

}

while(true)

{

charszBuf[MAX_PATH];

ZeroMemory(szBuf,sizeof(szBuf));

cout<<"YouSay:";

cin>>szBuf;

if(SOCKET_ERROR ==send(sockClient,szBuf,MAX_PATH,0))

{

cout<<"sendfailed"<<endl;

return;

}

intnRecvLen=recv(sockClient,szBuf,MAX_PATH,0);

if(nRecvLen>0)

{

//szBuf[nRecvLen]='';

cout<<"ServiceSay:"<<szBuf<<endl<<endl;

}

else

{

cout<<"recvfailed"<<endl;

return;

}

}

closesocket(sockClient);

}

======================

下面是服務端的代碼:

======================

#include"CInitSock.h"

#include<iostream>

usingnamespacestd;

CInitSockg_Sock;

voidmain()

{

SOCKETsockClient=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);

if(INVALID_SOCKET==sockClient)

return;

sockaddr_insockAddr;

sockAddr.sin_family=AF_INET;

sockAddr.sin_port=htons(4567);

sockAddr.sin_addr.S_un.S_addr=INADDR_ANY;

bind(sockClient,(sockaddr*)&sockAddr,sizeof(sockAddr));

listen(sockClient,SOMAXCONN);

charszBuf[MAX_PATH];

sockaddr_inremoteAddr;

intnLen=sizeof(sockaddr_in);

SOCKETsock=accept(sockClient,(sockaddr*)&remoteAddr,&nLen);

while(true)

{

intnRecvLen=recv(sock,szBuf,MAX_PATH,0);

if(nRecvLen>0)

{

cout<<"ClientSay:"<<szBuf<<endl<<endl;

}

ZeroMemory(szBuf,sizeof(szBuf));

cout<<"YouSay:";

cin>>szBuf;

if(SOCKET_ERROR==send(sock,szBuf,MAX_PATH,0))

{

cout<<"sendfailed"<<endl;

}

}

closesocket(sock);

closesocket(sockClient);

}

希望能夠幫到樓主。

⑷ c語言編寫聊天軟體(我有能力)

你好!

⑸ C語言聊天程序 想寫個基於C語言的簡單聊天程序(控制台程序),C/S模式,實現客戶端之間的通信

這個基於socket的可以實現,你網上查查看有很多的源碼和實例可以供參考。

⑹ c語言 編寫一個智能聊天工具

可以使用智能聊天機器人的介面來做

下面是一個簡單的使用小耗子機器人提供的介面的聊天代碼

#include<stdio.h>
#include<string.h>
#include<curl/curl.h>
#include<stdlib.h>

#defineBOT_SER"https://brisk.eu.org/smbot/sm.php"

typedefstruct
{
size_tlen;
char*msg;
}MSG;

size_tget_data(char*ptr,size_tsize,size_tnmemb,MSG*msg)
{
msg->msg=realloc(msg->msg,msg->len+nmemb+1);
snprintf(msg->msg+msg->len,nmemb,"%s",ptr);
msg->len+=nmemb;

returnnmemb;
}

intmain(intargc,char**argv)
{
CURL*curl;
MSGmsg;
charbuf[1024];
chardata[2048];

curl=curl_easy_init();
msg.len=0;
msg.msg=NULL;

curl_easy_setopt(curl,CURLOPT_WRITEFUNCTION,get_data);
curl_easy_setopt(curl,CURLOPT_WRITEDATA,&msg);
curl_easy_setopt(curl,CURLOPT_USERAGENT,"CBot/FromBai");

while(1)
{
printf(">");
scanf("%s",buf);

if(strcmp(buf,"exit")==0)
break;

snprintf(data,sizeof(data),"%s?msg=%s",BOT_SER,buf);
curl_easy_setopt(curl,CURLOPT_URL,data);
curl_easy_perform(curl);

if(msg.len)
{
printf("%s ",msg.msg);
msg.len=0;
free(msg.msg);
msg.msg=NULL;
}
}

curl_easy_cleanup(curl);

return0;
}

⑺ 如何用C語言編寫一個簡單的聊天室程序

這樣:

#include <stdlib.h>

#include <stdio.h>

#include <errno.h>

#include <string.h>

#include <unistd.h>

#include <netdb.h>

#include <sys/socket.h>

#include <netinet/in.h>

#include <sys/types.h>

#include <arpa/inet.h>

#include <pthread.h>

#define MAXLINE 100;

void *threadsend(void *vargp);

void *threadrecv(void *vargp);

int main()

{

int *clientfdp;

clientfdp = (int *)malloc(sizeof(int));

*clientfdp = socket(AF_INET,SOCK_STREAM,0);

struct sockaddr_in serveraddr;

struct hostent *hp;

bzero((char *)&serveraddr,sizeof(serveraddr));

serveraddr.sin_family = AF_INET;

serveraddr.sin_port = htons(15636);

serveraddr.sin_addr.s_addr = inet_addr("127.0.0.1");

if(connect(*clientfdp,(struct sockaddr *)&serveraddr,sizeof(serveraddr)) < 0){

printf("connect error ");

exit(1);

}

pthread_t tid1,tid2;

printf("connected ");

while(1){

pthread_create(&tid1,NULL,threadsend,clientfdp);

pthread_create(&tid2,NULL,threadrecv,clientfdp);

}

return EXIT_SUCCESS;

}

void *threadsend(void * vargp)

{

//pthread_t tid2;

int connfd = *((int *)vargp);

int idata;

char temp[100];

while(1){

//printf("me: ");

fgets(temp,100,stdin);

send(connfd,temp,100,0);

printf(" client send OK ");

}

printf("client send ");

return NULL;

}

void *threadrecv(void *vargp)

{

char temp[100];

int connfd = *((int *)vargp);

while(1){

int idata = 0;

idata = recv(connfd,temp,100,0);

if(idata > 0){

printf("server : %s ",temp);

}

}

return NULL;

}

(7)c語言實現聊天擴展閱讀:

注意事項

linux下編譯多線程代碼時,shell提示找不到 pthread_create函數,原因是 pthread.h不是linux系統默認載入的庫文件,應該使用類似如下gcc命令進行編譯:

gcc echoserver.c -lpthread -o echoserver

只要注意 -lpthread參數就可以了。

⑻ 求一個C語言編寫的聊天工具

你去c語言貼吧看看

⑼ C語言做一個簡單的聊天工具界面

可以參考:
https://github.com/jiangxincode/gchat
完全用C語言寫的,使用GTK+做的簡單界面
包括了所有的源碼,可以參考,但不要完全照搬。

⑽ 用C語言寫一個簡單聊天軟體!謝謝

聽了樓上的我都不敢說Windows程序設計中的SDK用的也是c語言了

傳的是《C語言高級編程及實例剖析》中的第六章的源碼,用的是SDK編程,裡面拉了控制項和用了多線程

樓主如果需要界面比較復雜的聊天室程序,用MFC當然方便點,但用SDK也沒有太大的問題(原理是一樣的,學哪一種,另一種就會了)。後者的教程貌似很難找。可以看看MFC的,比較好的是 《Vc++ 打造區域網聊天室》(視頻)

兩種資料在網上都找得到...

補充:當然,如果需要傳文件,圖片那些,就需要研究研究網路協議了,也只是添加些功能而已