失败-1,错误码
参数类型很多,man查看
由于s_addr需要一个32位的数,使用下面函数将点分十进制字符串ip地址以网络字节序转换成32字节数值
同理端口号也有一个转换函数
我们的端口号位两个字节16位,所以使用第二个htons函数
完整示例
监听有没有客户端发起连接请求
从连接请求的队列里面获取这些请求,然后与对应的客户端,完成连接的建立,返回一个已经完成连接的socket的fd
获取ip地址及端口号
返回点分十进制ip地址
端口号
以下示例获取客户端ip及端口号
由于我们输入的ip以及端口号是一个字符串,但我们需要一个整形端口号,再在sock里转换成一个·32位数,所以要用atoi函数将字符串端口号转换成整形。
对比一下
port<==>"5000",ip都是字符串
缓冲区没刷新,应该分开的数据一起打包发送
解决
1.手动价格分隔符,在接收端辨别
2.指定每次传输长度
3.用结构体
flags为MSG_DONTWAIT时执行非阻塞操作
同recv接近