当前位置:首页 » 编程软件 » 聊天编程

聊天编程

发布时间: 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();
}

热点内容
python字节转字符串 发布:2025-05-14 07:06:35 浏览:420
subplotpython 发布:2025-05-14 06:53:51 浏览:661
竖屏大屏导航工厂密码一般是多少 发布:2025-05-14 06:49:29 浏览:806
如何在手机里设置无线网密码 发布:2025-05-14 06:47:54 浏览:120
动态ip文件服务器 发布:2025-05-14 06:44:22 浏览:891
文字分行的脚本有什么 发布:2025-05-14 06:33:10 浏览:288
svn小乌龟怎么配置 发布:2025-05-14 06:31:43 浏览:393
视频播放器android 发布:2025-05-14 06:31:43 浏览:720
android工作室 发布:2025-05-14 06:26:00 浏览:658
汽车官方配置表如何下载 发布:2025-05-14 06:21:41 浏览:800