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

linux下socket长连接问题

    来源: 互联网  发布时间:2015-09-10

    本文导语:  server源码如下: ...; bind(..); if(listen(socketfd, 20) == -1) { perror("Error call to listen"); exit(1); } while(1) { SocketCmppFd = accept(socketfd, (struct sockaddr *)&pin, &address_size); if(SocketCmppFd == -1) { printf("Call to accept errorn"); exi...

server源码如下:

...;
bind(..);
if(listen(socketfd, 20) == -1)
{
perror("Error call to listen");
exit(1);
}
while(1)
{
SocketCmppFd = accept(socketfd, (struct sockaddr *)&pin, &address_size);
if(SocketCmppFd == -1)
{
printf("Call to accept errorn");
exit(1);
}
FD_ZERO(&sockfd);
FD_SET(SocketCmppFd, &sockfd);
switch(select(SocketCmppFd + 1, &sockfd, NULL, NULL, NULL))
{
case -1: 
perror("error handledn");
break;
case 0: 
perror("timeout hanledn");
break;
default:
if(FD_ISSET(SocketCmppFd, &sockfd))
....;
}
}
}

客户端不停发数据,可是select()总是返回-1,如果把accept()去掉就可以正常接收数据,但是如果客户端断掉,就无法再重联了。

我觉得问题就在accept和select的关系上,感觉上边的程序有问题,怪怪的,只是不知道问题出在哪里。

accept到底有什么用处,好像跟select有些重复似的。

|
这程序,结构有问题

SocketCmppFd[num++] = accept(socketfd...);
while(1) {
    FD_ZERO(&sockfd);
    for(i=0; i

    
 
 

您可能感兴趣的文章:

  • 在XP下使用VMWare安装了Linux AS 5.6之后,使用FTP工具可以远程连接Linux,而在cmd命令行中却连接不上,什么原因 ?
  • linux 有线连接了却显示有线连接断开是怎么回事
  • 请问unix/linux下动态连接库和静态连接库有什么区别?
  • LINUX中连接C++的库怎么连接.库在什么位置,还有什么特殊命令吗?
  • 在linux下可以使用dao方式连接数据库吗?可以连接musql吗?回答就给分!急
  • 在线请教:linux下用MySQL C API 连接MySQL 4.1.12出现的连接问题,提示升级客户端!!!!!!
  • ftp连接问题,就是linux连接windows ftp的问题,高手请进(在线等待)!!!!!
  • Linux下的C++程序怎么连接WIN2000下的SQL Server 2000?或者如何连接MySQL?
  • linux 下连接创建连接数据库程序,什么都可以 。谁知道300分
  • [疑问] [linux网络连接]Linuxmint网络连接
  • LINUX C 进行TCP网络连接,怎样设置连接超时时间?
  • 我在telnet到linux上的时候报不能打开到主机的连接, 在端口23: 连接失败 请问是什么原因
  • linux vsftpd连接问题
  • Linux 下的C语言实现数据库连接池操作。
  • Linux 代理 一个客户端来就创建一个连接
  • SecureCRT连接linux。为什么我在linux的/etc/sysconfig/下找不到iptables?
  • linux问题 secureCRT连接的问题 在线等急!~~
  • 我想用Linux的串口和S3c2410x连接,请问在Linux里面怎么找到那个超级终端?
  • 高分求教,linux下的GPRS连接!!!
  • 用xmanager远程连接不上linux桌面
  • SSL握手通信详解及linux下c/c++ SSL Socket代码举例
  • 大家帮忙推荐一本linux socket编程的入门书,我刚接触socket,谢谢!!
  • Linux c socket编程:简单的客户端(client)和服务端(server)实现
  • linux socket programe 同一个IP下 bind 多个socket,可以不??
  • linux socket问题。。怎样获得已帮定特定port的一个套接字socket
  • ★★★LINUX与windows的网络编程socket有多大区别?
  • linux下socket编程问题!
  • Linux 下用什么函数查找socket上一次的错误?
  • 求助!!linux下socket编程
  • 请问,在linux下如何探测socket端口通不通啊?
  • 关于LINUX内部socket
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Linux下时钟同步问题:Clock skew detected原因分析及解决方法
  • linux 繁体 汉字输入法 问题 linux 繁体 汉字输入法 问题
  • Linux 下c++开发error while loading shared libraries问题解决
  • 先安装linux,后安装winxp,能否解决正常启动linux的问题不?(初学者问题,很容易回答)
  • 弱弱的一问,linux下的中文问题及网络问题,分不是问题
  • Linux新手问,Linux安装问题。
  • linux下游戏问题。(菜鸟问题)
  • 初学Linux,发现Linux下的版本问题很头痛。【系列问题】
  • 高深问题:有了linux内核源代码如何做成一个linux操作系统
  • 一个很菜的问题,关ARM与linux内核裁剪的问题!
  • vmware装的linux,通过win2000访问linux的web服务器有问题
  • 初次接触linux,关于linux 用户权限问题请教!
  • Linux下是否存在磁盘碎片问题和内存碎片问题?
  • linux开发的应用程序部署到其他linux的问题
  • vmware上装LINUX的问题,WIN7可以拼的通linux的IP,linux拼不通win7的IP
  • Linux互ping在局域网内大量丢包,但是linux和windows互ping就没问题。
  • 最菜的问题—关于linux“动态库”的问题
  • linux下挂载linux分区的问题
  • 一个小问题。Linux下编程语言的问题。
  • Linux下环境变量问题以及FLEX安装问题
  • Linux初学者,Linux安装的问题
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • secureCRT下Linux终端汉字乱码解决方法
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • Linux c字符串中不可打印字符转换成16进制
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux


  • 站内导航:


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

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

    浙ICP备11055608号-3