后台开发核心技术(八)Socket通信之TCP

网络通信如何唯一标识一个进程
传输层的”协议+端口“可以唯一标识主机的进程。

关于socket的TCP传输过程的参考博文

Socket

套接字格式:

	{protocol,src_addr,src_port,dest_addr,dest_port}。

这常被称为套接字的五元组。其中protocol指定了是TCP还是UDP连接,其余的分别指定了源地址、源端口、目标地址、目标端口。

网络中的进程是通过socket来通信的。socket是”open->write/read->close"模式的一种实现。socket为这些操作提供了以下一些函数接口

在这里插入图片描述

  1. socket() server socket:{protocal}

     int socket(int domain,int type,int protocal);
    

    socket对应于普通文件的打开操作,普通文件的打开返回一个文件描述字,而socket()返回一个socket描述符(整数类型的值),唯一标识一个socket。失败返回INVALID_SOCKET(Linux中返回-1)。

    1 ) domain
    即协议族,决定了socket的地址类型。如AF_INET决定了要用ipv4与端口号的结合。

    2 ) type
    指定socket类型,常用的有:SOCK_STREAM(提供面向稳定的连接数据传输)、SOCK_DGRAM(表示使用不连续、不可靠的数据包连接)。

    3 ) protocal
    指定协议。常用的有:IPPROTP_TCP、IPPROTO_UDP等。对应TCP、UDP。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值