當前位置:首頁 » 編程軟體 » 聊天編程

聊天編程

發布時間: 2022-05-18 13:58:32

❶ 用動態網頁編程實現一個簡單的聊天程序

給你個思路吧
在伺服器端准備好足夠大的空間,要存儲聊天信息
先准備資料庫
一個table是放已登錄的用戶
一個table是放聊天信息
--------初始化----------
然後做一個網頁,命名為main.php
首先確認session里是否有登錄信息
沒有的話轉到login.php
--------界面------------
登陸後網頁里上面顯示一個div,放聊天的信息
div上面應該還有標簽頁,切換聊天窗口
下面是一個textarea
左面有已登錄的用戶的列表,單擊用戶名可以開始聊天
-------接收信息---------
接下來是要接收伺服器端的資料庫信息
每隔幾秒就用ajax向伺服器發送post請求,請求里設置一下header
timestamp是(new Date()).getTime()
user1是聊天的用戶(在這個網頁里登錄的)
action是get
然後請求發送到一個query.php
query.php里
首先連接資料庫
通過action知道是要得到消息
然後根據user1找到行,
接著用timestamp比較時間,如果消息發送比timestamp大,那麼就輸出這個消息
最後返回一個json對象,包括所有新的消息
然後javascript開始處理返回的json,根據user2的不同,把它們放到不同的聊天窗口中,或者是新建一個窗口
---------發送消息-----------
當用戶在textarea里按下了enter或者用滑鼠點擊了發送按鈕
那麼再新建一個post請求,請求主體是textarea里的內容,然後也在header里設置timestamp,user1和user2,action設置為send
依然發送到query.php
不過這次通過action得知是要發送消息
所以連接資料庫後插入一行
行里應該有timestamp,message,user1,user2四列

這樣一個簡單的聊天程序就完成了
僅供參考

❷ 簡單聊天程序的設計與實現用什麼軟體

應用軟體可用各種編程軟體來編寫的。
這些編程軟體使用的語言可有C或C++語言,Bisic,Pascal語言,Java,易語言等在各種編程軟體的平台上按語言的語法要求編寫代碼,通過編譯成應用程序。
c語言也能寫出來這些應用程序,簡單的就是播放器、計算器、優化大師、QQ聊天工具、聊天室、俄羅斯方塊等等吧!

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

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

❹ 如何用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;

}

(4)聊天編程擴展閱讀:

注意事項

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

gcc echoserver.c -lpthread -o echoserver

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

❺ 做聊天軟體~需要用什麼編程軟體

要看你用什麼語言做。在全球范圍來說:目前java是最流行的編程語言也是用的最多的語言。c++、c其次。 聊天軟體是一款要結合伺服器端編程語言來編寫的軟體。集成來說你可以用 微軟的 vs。也可以用java的相關軟體。這要根據你所學的語言來定的。

❻ 怎麼用C++編寫一個基於UDP的簡單聊天程序

首先聲明下,下面的答案是從博客上粘過來了,因為以前自己寫的時候也參考這個寫的。
基於UDP的聊天程序伺服器端源程序:

#include "winsock2.h"
#include "stdio.h"

void main()
{
//載入套接字(winsock)庫,載入這段代碼拷貝於MSDN中WSAStartup的介紹
WORD wVersionRequested;
WSADATA wsaData;
int err;

wVersionRequested = MAKEWORD( 1, 1 ); //版本號為1.1

err = WSAStartup( wVersionRequested, &wsaData );
if ( err != 0 ) {
return;
}

if ( LOBYTE( wsaData.wVersion ) != 1 ||
HIBYTE( wsaData.wVersion ) != 1 ) {
WSACleanup( );
return;
}

//創建套接字
//注意第二個參數和TCP設置不同
SOCKET sockServer=socket(AF_INET,SOCK_DGRAM,0);

SOCKADDR_IN addrServer; //設置伺服器端套接字的地址結構的相關屬性
addrServer.sin_addr.S_un.S_addr=htonl(INADDR_ANY); //設置IP
addrServer.sin_family=AF_INET;
addrServer.sin_port=htons(6000); //設置埠號

//將套接字和伺服器地址結構綁定
bind(sockServer,(SOCKADDR*)&addrServer,sizeof(SOCKADDR));

SOCKADDR_IN addrClient;
int len=sizeof(SOCKADDR);
char recvBuf[100];
char tempBuf[100];
char sendBuf[100];

while(1)
{
//從客戶端接收數據
int result=recvfrom(sockServer,recvBuf,100,0,(SOCKADDR*)&addrClient,&len);
if(result==SOCKET_ERROR)
{
int errCode=WSAGetLastError();
printf("error:%d",errCode);
break; //退出循環
}
else
{
if(recvBuf[0]=='q') //對方請求退出
{
//同樣將退出請求發送回去
sendto(sockServer,"q",strlen("q")+1,0,(SOCKADDR*)& addrClient,sizeof(SOCKADDR));
printf("the chat end!");
break;
}
else
{
//將對方發送過來的信息前段加上IP地址進行輸出
sprintf(tempBuf,"%s said:%s",inet_ntoa(addrClient.sin_addr),recvBuf);
printf("%s\n",tempBuf);

//將用戶的鍵盤輸入發送到對方
printf("pleas input the message:\n");
gets(sendBuf); //得到鍵盤輸入內容 sendto(sockServer,sendBuf,strlen(sendBuf)+1,0,(SOCKADDR*)& addrClient,sizeof(SOCKADDR));
}
}
}

closesocket(sockServer);
WSACleanup();
}

基於UDP的聊天程序客戶端端源程序:
#include "winsock2.h"
#include "stdio.h"

void main()
{
//載入套接字(winsock)庫,載入這段代碼拷貝於MSDN中WSAStartup的介紹
WORD wVersionRequested;
WSADATA wsaData;
int err;

wVersionRequested = MAKEWORD( 1, 1 ); //版本號為1.1

err = WSAStartup( wVersionRequested, &wsaData );
if ( err != 0 ) {
return;
}

if ( LOBYTE( wsaData.wVersion ) != 1 ||
HIBYTE( wsaData.wVersion ) != 1 ) {
WSACleanup( );
return;
}

//創建套接字
SOCKET sockClient=socket(AF_INET,SOCK_DGRAM,0); //注意第二個參數和TCP設置不同

SOCKADDR_IN addrServer; //伺服器地址結構
addrServer.sin_addr.S_un.S_addr=inet_addr("127.0.0.1"); //伺服器地址
addrServer.sin_family=AF_INET;
addrServer.sin_port=htons(6000); //伺服器埠號

char tempBuf[100];
char recvBuf[100];
char sendBuf[100];

int len=sizeof(SOCKADDR);

while(1)
{
printf("plese input the message:\n");
gets(sendBuf); //得到用戶的鍵盤輸入
sendto(sockClient,sendBuf,strlen(sendBuf)+1,0,(SOCKADDR*)&addrServer,sizeof(SOCKADDR));

int result=recvfrom(sockClient,recvBuf,100,0,(SOCKADDR*)&addrServer,&len);
if(result==SOCKET_ERROR)
{
int errCode=WSAGetLastError();
printf("error:%d",errCode);
break; //退出循環
}
else
{
if(recvBuf[0]=='q') //對方請求退出
{
//同樣將退出請求發送回去
sendto(sockClient,"q",strlen("q")+1,0,(SOCKADDR*)&addrServer,sizeof(SOCKADDR));
printf("the chat end!");
break;
}
else
{
//將對方發送過來的信息前段加上IP地址進行輸出
sprintf(tempBuf,"%s said:%s",inet_ntoa(addrServer.sin_addr),recvBuf);
printf("%s\n",tempBuf);
}
}

}

closesocket(sockClient);
WSACleanup();
}

熱點內容
connectorpython 發布:2025-05-14 09:48:50 瀏覽:762
配置不好怎麼辦 發布:2025-05-14 09:46:40 瀏覽:622
數據流程圖中的數據存儲是指 發布:2025-05-14 09:46:39 瀏覽:445
我的世界伺服器id前綴mod 發布:2025-05-14 09:45:53 瀏覽:830
完整後台網站源碼 發布:2025-05-14 09:45:46 瀏覽:455
傳奇祝福腳本 發布:2025-05-14 09:34:12 瀏覽:571
電腦文件加密的軟體 發布:2025-05-14 09:29:20 瀏覽:354
擴展資料庫表空間 發布:2025-05-14 09:29:10 瀏覽:642
mongo存儲過程 發布:2025-05-14 09:27:54 瀏覽:715
伺服器的公網ip在哪看 發布:2025-05-14 09:18:30 瀏覽:253