socket编程实现

发布于:2022-08-09 ⋅ 阅读:(245) ⋅ 点赞:(0)

框架

1.调用socket获取套接字
2.bind 绑定
3.listen 监听
4.accept 接收
5.read 读取
6.write 发送数据

草稿


1.socket

1.选因特网 AF_INET
2.用到tcp协议 SOCK_STREAM
3.第三个写0 让前两个配合起来

2.bind

怎么查询- struct sockaddr_in:

1.cd /usr/include (在这一目录下查找)
2.ls
3.grep “struct sockaddr_in {” * -nir (n:找出来显示行号,i:不区分大小写,r:是递归的意思)
4.在这里插入图片描述

5.vi linux/in.h +184 (linux/in.h是头文件)
6.在这里插入图片描述

7.struct sockaddr_in 的第三个参数也是一个结构体 struct in_addr ,

8.grep “struct in_addr {” * -nir

9.vi linux/in.h +56
10.
在这里插入图片描述
结构体 sockaddr_in – 参数2 :sin_port /端口号/

一般3000以下是系统一些关键端口用的,我们用户一般用5000-9000之间使用的比较多

要注意转换网络字节序
在这里插入图片描述
(host to net short型)

头文件:

在这里插入图片描述

代码部分:在这里插入图片描述

注意: 用ifconfig来找本机IP地址:
在这里插入图片描述
在命令提示符中:telnet IP地址 端口号
就可以连接了 (telnet就是基于TCP协议)

添加read 和write 实现数据收发

memset函数在socket中多用于清空数组.如:原型是memset(buffer, 0, sizeof(buffer))。
清空数据之后再用那两个addr
在这里插入图片描述

创建接收端

connect第二个参数需要强制转换
在这里插入图片描述
在这里插入图片描述
运行时需先打开发送端 才能打开接收端连接 发送消息

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到