• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C语言 > 浅谈socket TCP编程中connect的一些坑

浅谈socket TCP编程中connect的一些坑

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了socket tcp编程,c socket tcp,tcp socket,tcp socket通信,qt tcp socket编程等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

1.服务端listen成功后,系统就自动接收客户端请求了

man listen:

其中有一段

The  behavior of the backlog argument on TCP sockets changed with Linux
       2.2.  Now it specifies the  queue  length  for  completely  established
       sockets  waiting  to  be  accepted, instead of the number of incomplete
       connection requests.  The maximum length of the  queue  for  incomplete
       sockets  can be set using /proc/sys/net/ipv4/tcp_max_syn_backlog.  When
       syncookies are enabled there is no logical maximum length and this set‐
       ting is ignored.  See tcp(7) for more information.

也就是说,listen成功后,系统会自动接受bocklog个客户端请求,并不需要服务端accept,就算服务端没有accept,客户端connect仍然返回成功。accept仅仅是从backlog队列中取出一个已经建立了完整TCP连接的套接字。

2.一个fd   socket了connect后,不能再次connect

再次connect,会报错:Transport endpoint is already connected

此时想要再次connect,必须重置fd..

连接建立后socket的状态被置为SS_ISCONNECTED,因此在调用close重置此socket状态之前,会报错。。

以上就是小编为大家带来的浅谈socket TCP编程中connect的一些坑全部内容了,希望大家多多支持~

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 浅谈socket TCP编程中connect的一些坑
  • 使用C语言编写基于TCP协议的Socket通讯程序实例分享

相关文章

  • 2017-05-28c语言实现二叉查找树实例方法
  • 2017-05-28C++获取zip文件列表方法
  • 2017-05-28使用C++程序获取新浪行情数据的方法
  • 2017-05-28老生常谈C语言动态函数库的制作和使用(推荐)
  • 2017-05-28C++中“#”号的使用技巧
  • 2017-05-28浅谈const变量赋值报错分析
  • 2017-05-28Linux C 获取进程退出值的实现代码
  • 2017-05-28C++二进制翻转实例分析
  • 2017-05-28纯c语言实现面向对象分析与示例分享
  • 2017-05-28C++中this指针用法详解及实例

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C语言 文件的随机读写详解及示例代码
    • C++实现位图排序实例
    • 二叉搜索树源码分享
    • VC实现A进程窗口嵌入到B进程窗口中显示的方法
    • 使用c语言判断100以内素数的示例(c语言求素数)
    • CStdioFile的用法详细解析
    • c++判断是否为目录的示例分享
    • 解读堆排序算法及用C++实现基于最大堆的堆排序示例
    • 基于C++中sprintf的错误总结详解
    • C语言小程序 如何判断两个日期之差

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有