linux 网络编程易错点

1. 网络字节序

    l 网络字节序存在的意义是实现不同主机字节序的兼容

2. accept()

    l 生成一个新的套接字,这个是所有socket通讯模型的基础

3. sendto()    

    l 该函数一定要指定dest_len的大小,否则接收端接收不到数据

4. 广播地址

    l 192.168.1.0(255.255.255.0)网段为例,广播地址为192.168.1.255

        ① 局域网内同一网段主机能够识别

        ② 可以跨路由进行广播,但要设置路由

    l 255.255.255.0

        ① 能够在局域网不同网段进行广播所有网段都能识别的广播地址容易形成广播风暴

        ② 不能跨路由广播

5. htonl(INADDR_ANY)

    l INADDR_ANY实际地址为0.0.0.0,表示主机任何网卡都能够接收到数据

    l 也可以直接填写htonl("0.0.0.0")代表所有网卡

6. 域套接字

    l 模型和网络套接字基本一致

    l UDP模型,客户端和服务器都要分别绑定套接字地址,如果客户端不绑定地址的话,也就无法创建域套接字文件,也就不能接受数据

    l TCP模型客户端不需要进行绑定操作,因为已经建立连接,能够从原路返回。

    l 域套接字一定要执行remove("mysocket");mysocket为域套接字路径。因为不进行删除,再次启动服务的时候会提示绑定失败。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值