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

这个程序为什么不能实现聊天?

    来源: 互联网  发布时间:2016-12-10

    本文导语:  有两个文件,为什么不能实现聊天? server端 #include  #include  #include  #include  #include  #include  #include  #include  int main(int argc, char* argv[]) {     int fds_server = socket(AF_INET,SOCK_STREAM,0); // 创建套接字     struct s...

有两个文件,为什么不能实现聊天?
server端
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

int main(int argc, char* argv[])
{
    int fds_server = socket(AF_INET,SOCK_STREAM,0); // 创建套接字

    struct sockaddr_in saddr_server;
    saddr_server.sin_family = AF_INET;
    saddr_server.sin_port = htons(1987);
    saddr_server.sin_addr.s_addr = inet_addr("127.0.0.1");
    
    bind(fds_server,(struct sockaddr*)&saddr_server,sizeof(struct sockaddr_in));  // 绑定

    listen(fds_server,5);  // 设为监听

    fd_set set_read;
    fd_set set_write;
    int fds_hwm = fds_server;

    int fds_client = 0;
    struct sockaddr_in saddr_client;
    int len;

    char buf[1024];
    while (1) {
        FD_ZERO(&set_read); // 可读
        FD_SET(fds_server,&set_read);  
        FD_ZERO(&set_write); // 可写
        if (fds_client) {
            FD_SET(fds_client,&set_write);
            FD_SET(fds_client,&set_read);
        }

        if (select(fds_hwm+3,&set_read,&set_write,NULL,NULL) == -1)
            printf("error!n");
        
        if (FD_ISSET(fds_server,&set_read)) {  // 有连接 
            fds_client = accept(fds_server,(struct sockaddr*) &saddr_client,&len);
            printf("client %d comming!n",fds_client);
            FD_SET(fds_client,&set_write); // 放入写
            FD_SET(fds_client,&set_read);  // 放入读
            if (fds_hwm 

    
 
 

您可能感兴趣的文章:

  • c语言判断某一年是否为闰年的各种实现程序代码
  • 编一个模拟shell实现的程序,怎么实现输入输出重定向?谢谢
  • linux下通过crond实现自动执行程序
  • 如何用shell程序实现一个监控程序(内详)
  • HASH查找的程序实现及性能分析
  • applet程序不能实现与application程序之间的通信,怎么办呢?
  • 使用libpcap实现抓包程序的步骤及代码示例
  • 请问能否在linux实现一个应用程序访问另外一个程序的内存数据?
  • 视频聊天程序 Ashcast iis7站长之家
  • 实现同样的功能,内核程序和用户程序差别效率上差别大么?
  • 用户程序的ioctl是怎么和驱动程序中的ioctl实现联系
  • 关于linux c程序实现自动实现telnet的问题
  • 问下arm下如何实现memory模式的cf的驱动,程序框架怎么搭!有源程序参考下更好!分数不多全部送上,谢谢了!
  • 在linux实现在任意给定的目录查找文需要的件的程序? 下面的实现思路可不可以呢????
  • linux下,如何在程序中分区(代码实现)
  • 请问Jb怎么实现系统登录程序!
  • 求救呀:我用QT编了一个界面程序,怎么实现静态编译好让那个程序也能在没有装QT的系统上运行呀!!!
  • expect实现telnet远程主机后,运行程序问题
  • 客户端程序和服务器程序间能否通过管道来实现数据的双向传递啊?
  • 请问两个毫不相关的程序,怎样实现通信
  • 如何用bash实现这个程序?
  • 即时消息聊天应用程序 Cryptocat
  • 视频聊天程序 Ashcast
  • 高分寻找JSP聊天室程序,哪位大哥有或者帮我找到,200分马上奉送!!
  • 手机聊天程序 Android jChat
  • 有没有java聊天室的源程序下载?分数全部给上只有这么多了
  • 高分求一个聊天室的java程序代码。
  • 那个叫“ anonimousboy(stiwen)”的,给我聊天程序代码的再进来接分!
  • 那个叫“ anonimousboy(stiwen)”的,给我聊天程序代码的进来接分!
  • 请问谁有聊天室程序的源码,最好是javacat的,急用,谢谢!!!
  • 聊天程序和有关jabber
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 学了linux程序设计后能不能编写出应用程序
  • 为什么在我的引导程序setup.asm里,初始化8253定时器后,程序不能往下运行,而取消初始化后能???
  • 屏幕不能显示,怎么用gdb调试程序?
  • 请教cgi程序不能使用popen的问题
  • Linux安装不能初始图形程序,Why?在线等.
  • java能不能编写单独运行的程序?
  • 在linux下用CC编译的程序不能执行
  • >>>>> 程序移动目录有不能运行》》》》》
  • 100分请帮忙,我不能编译servlet程序
  • 为什麽我的程序不能用 ^C 来中断?????????
  • telnet登陆目标板之后 不能运行目标板自带的程序
  • 为什么我写的应用程序不能持续运行?
  • 谁用友善之臂的板子,./应用程序 为什么不能运行程序
  • c++程序在solairs下不能运行,求教!
  • 在redhat7.2中用gcc命令编译程序 却不能运行
  • 为什么GCC编译过的C程序,为什么不能运行。
  • 为什么我下载的 “SQL Server 2000 JDBC 驱动程序” 不能安装啊?
  • lunix不能编译程序???急!急!急!
  • 用记事本写的程序为什么不能转化成java格式的
  • gcc程序怎么不能将输出重定向到文件或管道呀,你们有这个问题吗?
  • 重装服务器后IIS网站错误(应用程序中的服务器错误)
  • 为什么我在java程序里启动的一个程序在java程序关闭后,该程序的所有进程都关掉了
  • windows server2008上PowerBuilder程序系统错误解决方法
  • Linux 编程怎么样在程序开启一个程序,和关闭一个程序?
  • 程序员的八种级别,你属于哪一级?
  • 请问从一个java程序中如何调用另一java程序,并控制可以其状态(最小化、最大化、结束程序),还有怎样知道那个被调用的程序结束。
  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • Linux下的程序是在内存中运行的吗?为什么在程序运行的时候可以删除程序文件?
  • 在docker容器中通过apt-get安装新的程序
  • 我的程序是用c写的gtk+程序,有个函数的参数要传给它图片的文件名,但是图片和原程序不在同一目录下怎么办?怎么在程序里指定文件的路径
  • http协议介绍,文件上传分析及程序举例


  • 站内导航:


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

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

    浙ICP备11055608号-3