C++socket编程(TCP/IP)

一、socket编程:
通常情况下,socket连接就是TCP连接,因此socket一旦连接,通信双方可以开始相互发送数据内容,直到双方连接断开。但实际网络应用中,客户端到服务器之间的通信往往需要穿越多个中间节点,例如:路由器、网关、防火墙等,大部分防火墙默认会关闭长时间处于非活跃状态的连接而导致socket连接断开,因此,需要通过轮询告诉网络,该连接处于活跃状态。
socket套接字,用于描述地址和端口号,是一个通信链路的句柄。应用程序通过socket向网络发出请求或者回应。
socket编程有三种:流式套接字(SOCK_STREAM)、数据包套接字、原始套接字。TCP的socket编程是流式套接字。

二、过程:
客户端:建立socket,通过端口号和地址,确定目标服务器,使用connect连接到服务器,send发送消息,等待处理,通信完成后调用closeSocket直接关闭自身的socket。
服务器端:建立socket,申明自身port和IP,并bind绑定到socket,使用listen监听,然后不断用accept去查看是否有连接。有:捕获socket,并通过recv获取消息的内容,通信完成后调用closeSocket关闭这个对应accept到的socket。不需要等待任何客户端连接,用closeSocket直接关闭自身的socket。

三、编程实现:

https://blog.csdn.net/qq_27923041/artic

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值