当前位置:  技术问答>linux和unix

进来帮帮忙....帮我改程序OK?..关于聊天室功能.里面有源代码.....

    来源: 互联网  发布时间:2015-06-19

    本文导语:  大家能帮帮我调试并实现这个功能这个聊天室的功能吗????我是刚开始学的,在redhat 9.0 下调试没有错误,但却总是实现不了聊天室的功能呀.......教教我,好吗?大家帮我修改一下,调试好能运行了...把修改后的源程序发给...

大家能帮帮我调试并实现这个功能这个聊天室的功能吗????我是刚开始学的,在redhat 9.0 下调试没有错误,但却总是实现不了聊天室的功能呀.......教教我,好吗?大家帮我修改一下,调试好能运行了...把修改后的源程序发给我,行吗??谢谢了.
 
Email:   sen6888@163.com          
QQ   :   49213575       


原理:

客户端程序首先与服务端建立连接,然后交本端的 id 发送到服务端..服务端收到这个消息,就会发送广播,让其它所有已经在聊天中的客户端知道有新的客户加入聊天.退出聊天时客户端不主动关闭连接,而是请求服务端关闭连接.收到服务端发送的FIN信号后(即read()返回0),客户端才关闭所有句柄退出.需要说明的一点,是发送的数据的格式.客户端向服务端发送的每一条信息,其第一个字节代表的是该信息的类型....第一个字节为 1 的信息表示是客户端发送的第一条信息,其后面紧接着客户端的 id .第一个字节为 2 的信息表示客户端断开连接的请求,其后为空.第一个字节为 3 的信息是客户端发送的聊天信息...服务端收到聊天信息后将其发送到所有聊天中的客户端.......




代码:
/*chatcli.c--A TCP Chat Client  客户端程序. */ 


#include 
#include 
#include 
#define BUFLEN 255
#define max(x,y)(((x)>(y))?(x):(y))

int main(int argc,char ** argv)
{
struct sockaddr_in servaddr;
int sockfd,n;
char inmsg[BUFLEN+1],outmsg[BUFLEN+1];
fd_set infds;
int maxfd;
       if(argc!=4) {
        printf("%sn",argv[0]);
/*id 是该客户在聊天中的代号 */
exit(0);
       }
sockfd = socket(AF_INET,SOCK_STREAM,0);
if(sockfd

    
 
 

您可能感兴趣的文章:

  • 我的socket出错,熟手进来帮帮忙呀------->急!!!
  • 精通grep命令的朋友进来帮帮忙,谢谢!!!!
  • 请路过的进来帮帮忙啊!急~~~~~~~~~~
  • 自己做的U盘系统service指令无法使用```高手进来帮帮忙哈
  • 怎么编程实现发送Ipv6携带扩展报头的数据包??对ipv6有研究的朋友进来帮帮忙?
  • 求救:我的APACHE配置文件到底怎么了?大家都进来帮帮忙,谢谢。只有50了,倾家荡产问问题。
  • 一个简单的代码问题,请大虾进来帮帮忙!急!
  • 图像界面崩溃!!给出了一些信息,望大家进来帮帮忙
  • linux vsftp问题,大家进来帮帮忙 谢谢
  • 呼叫:linux高手,进来帮帮忙吧,弄了很久了,vmware tools不会装,郁闷死了!!!
  • 本人菜鸟, 请各位大虾帮帮忙,进来交流交流,有关我毕设的一些疑问?
  • 是高手就进来帮帮忙!ARM9(2440)多线程串口编程,运行错误:__gnu_cxx::__concurrence_broadcast_error
  • 请进来帮帮我 ,
  • ###########谁有JMS的例子(发组播消息的)或者相关的经验,请进来帮帮我,一定送高分!!!
  • Java和VB的问题??请进来帮帮我,也许是很简单的颜色问题呀?
  • 进程问题,有系统开发或分析经验的大虾请进来帮帮我!!!
  • xml 数据转换问题 哪位大神进来帮帮小弟
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 求助!!! 超简单问题... 大虾们进来,菜鸟也进来!!
  • 又一个初学者的困惑!如果您是个大虾,请你一定要进来看看,指点迷津!如果您也是个初学者,那么您也一定要进来,也许我们有一样的遭遇!
  • 请问LINUX C与C++哪一个更有意义去发展,请高手与专家进来提出宝贵意见,快点进来啦!!!!!!!!!!!!
  • 呵呵!只要搞和喜欢嵌入式开发的同仁并高手都进来!!!!进来有分,不够再加!
  • 自己做了网站的朋友们进来!没有的也进来看看
  • 初次使用VMWare,高兴,进来拿分。用过的进来提建议,没用的看看。
  • 我初学JAVA,大家愿意交朋友的进来看看!留QQ的给分啊!
  • Patrick_DK(疾风摩郎) 请进来,给你分
  • Slack Linux使用者,进来签个名!
  • 不知道那位写过显示进度条,进来指导一下!
  • 出于noby对我的热心,请你进来,我再给你分。
  • 光驱如何mount进来?
  • gfzhx(小小) :再 请进来接分!!!!!!!
  • gfzhx(小小) :请进来接分!!!!!!!
  • HyMaix解决了我的问题耶!进来拿分!!
  • 谢谢帮助,请yhlsyq1101进来收分!
  • 那个叫“ anonimousboy(stiwen)”的,给我聊天程序代码的再进来接分!
  • 那个叫“ anonimousboy(stiwen)”的,给我聊天程序代码的进来接分!
  • 如何知道还没mount进来的磁盘分区格式/大小
  • steptodream 进来救急一下,多谢


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3