1、用C++如何写出像QQ那样的即时通讯软件?服务器用到的是什么语言?
当然 控制台的话 肯定不易使用
我们原来用C++语言 和MFC 做过一个C/S构架的聊天工具
MFC主要负责版 界面 C++负责功能编写权
服务端(就是你说的服务器)和客户端都是用C++编写的
不客气地说 说C++不至此网络编程的 可以退出编程界了 你不适合这行
2、急!!linux下C语言编写一个聊天服务器程序
?
3、求一个C#聊天程序,没有服务器的那种直接点对点的完整聊天程序。
用
System.Net;
System.Net.Sockets;
一个写界抄面用tcplistener类实例袭,另一个用tcpclient实例,基本可以达到要求,聊天程序而已,全传字符串就行,网上对照实例很多,你可以参考。比如下面是百科找到的代码有一段提到点对点,你可以参考
http://wenku.baidu.com/view/50e294c389eb172ded63b7c8.html
4、C语言问题:局域网聊天系统中的服务器怎么区分不同的客户端并把数据传给客户端?
通常服务器是这样的:
struct sockaddr clientAddr;
int ret = accept(s,&clientAddr,sizeof(struct sockaddr));
if(ret > 0)
{
....
}
SOCKET PASCAL accept( SOCKET s, struct sockaddr * addr,int * addrlen);
请看accept原型 第2个参数为指针 。也就是如果accept成功 那么服回务器端就会得到客答户端的struct sockaddr结构体数据,里面包含了客户的ip port等。
实际中要区分的话,应该是有类似于自拟协议,比如约定好,客户端连上服务器后,主动发送包含身份的信息给服务器,服务器识别后,才开始为该客户服务。
5、用C语言在WIN32下编译一个简单的聊天程序,客户端向服务器发消息,服务器接到消息后会返回一个
#include<stdio.h>#include<stdlib.h>
#include<string.h>
#include<sys/types.h>
#include<errno.h>
#include<netinet/in.h>
#include<sys/socket.h>
#define SERVERPORT 5555#define BACKLOG 10
#define MAXLEN 1024
int main(){
int sockfd,client_fd;
int sin_size = 0;
int recvlen = 0;
char recvbuf[MAXLEN]={0};
struct sockaddr_in my_addr;
struct sockaddr_in cli_addr;
int iRet;
/*建立socke通信*/
if((sockfd = socket(AF_INET,SOCK_STREAM,0)) == -1){
printf("Create socket error\n\n");
exit(1);
}
printf("socket success\n");
my_addr.sin_family=AF_INET; my_addr.sin_port=htons(SERVERPORT);
my_addr.sin_addr.s_addr=INADDR_ANY;
memset(my_addr.sin_zero,0,8);
/*绑定socket端口*/
if(bind(sockfd,(struct sockaddr *)&my_addr,sizeof(struct sockaddr)) == -1){
printf("bind error\n");
close(sockfd);
exit(1);
}
printf("bind success\n");
/*监听端口*/
if(listen(sockfd,BACKLOG) == -1){
printf("listen error\n!");
close(sockfd);
exit(1);
}
printf("listren success\n");
while(1) {
sin_size = sizeof(struct sockaddr_in);
/*阻塞等待客户端发送消息*/
if((client_fd=accept(sockfd,(struct sockaddr *)&cli_addr,&sin_size)) == -1)
{
printf("accept error !");
continue;
}
printf("accept success\n");
printf("receive a connection form %s\n",inet_ntoa(cli_addr.sin_addr));
/*fork进程,子进程处理接收的信息*/
iRet=fork();
if(iRet < 0)
{
printf(" fork err, pid=[%d]", getpid());
}
/*fork返回0,为子进程*/
else if(iRet == 0)
{
printf("pid=[%d]", getpid());
printf("子进程\n");
memset(recvbuf,0,sizeof(recvbuf));
/*接收客户端发送的内容*/
if((recvlen = recv(client_fd,recvbuf,MAXLEN,0)) == -1)
{
printf("recv error\n");
close(client_fd);
exit(1);
}
printf("recvlen[%d]\n",recvlen);
printf("recvmsg:\n%s\n",recvbuf);
/*向客户端发送内容*/ if(send(client_fd,recvbuf,recvlen,0) == -1)
{
printf("send error\n");
close(client_fd);
exit(1);
}
printf("sendmsg:\n%s\n",recvbuf);
close(client_fd);
exit(0);
}
/*父进程,返回子进程pid*/
else
{
printf("pid=[%d]", getpid());
printf("父进程\n");
continue;
}
}
close(sockfd);
exit(0);
}
6、谁可以给我一个以C语言或者java写的两个客户端之间的聊天,服务器中转的聊天程序,急求啊~~~
java的 就是在你创建服务器socke线程里面,当创建好了之后将这个socket存到之前定义的全局List中去,当接受到客户端发过来的消息后迭代之前存socket的List,所有都发送一次,这样就是想了群聊了!
7、关于在linux下用C语言实现多客户端和服务器端聊天的实现!
你的意思是服务器监听同一端口,然后根据不同客户端运行不同的服务器程序?如果是,自然少不了select或if-elseif-then
8、聊天软件用服务器吗
聊天软件是算是一个第三方的传话器功能,有检测聊天内容的功能,如我们在内qq输有关金容钱的信息时,会提示你注意信息安全,对方不在线,聊天内容就存在服务器中,如qq离线状态时!租服务器找我,展翼小T!河南网通支持网络电话的服务器!
9、如何用C语言编写一个简单的聊天室程序
聊天室的话涉及网络通信。流程大概是:
客户端连接服务器(登陆,上传相应的版数据(起码有聊天室编号))权
客户端发生消息给服务器(消息+聊天室编号)
服务器根据客户端上传的聊天室编号广播消息
客户端接受服务器传来的消息
用到的技术就是socket编程(应该有其他的现成的框架,不过我用得比较多的是java,不清楚c的),如果还想做个界面的话,可以用qt做,或者MFC,应该还有其他可选方式,不过我不知道~~~。
上面只是简单的,你要做完备的还有很多问题需要考虑,比如说加密数据,优化使其能容纳较多的用户,服务器崩溃时的处理方案等等。
10、c/s聊天编程,要一个服务器能同时接收多个客户端的消息,现在只能接收一个客户端
你应该至少吧服务器端和客户端分开做..........