- 博客(31)
- 收藏
- 关注
原创 电子书 小版本
printf("------------------1.插入-----------------\n");printf("------------------2.删除-----------------\n");printf("------------------3.修改-----------------\n");printf("------------------4.查询-----------------\n");//创建并打开一个数据库。// 创建一张表格。//关闭打开的数据库。
2022-09-21 21:03:12
192
原创 poll_server
/端口号的网络字节序:1204-49151。//地址族必须式制定。//填充ip 和端口地址到地址信息结构体中,实际结构体是友地址族决定;//能运行到现在的位置,则说明集合中有文件描述符成功触发事件。//将sfd 文件描述符添加到集合中。//将0号文件描述符添加到集合中。//sfd文件描述符 有事情产生。
2022-09-20 20:36:57
49
原创 select - clien-tcp 代码
/接收客户端的ip和端口。//填充ip 和端口地址到地址信息结构体中,实际结构体是友地址族决定;printf("触发客服端交互事件\n");printf("客服端关闭\n");printf("触发键盘输入事件\n");printf("触发事件!printf("发送成功\n");//把需要的文件描述符放到读集合中。
2022-09-20 20:35:29
40
原创 select - server-tcp代码
fprintf(stderr,"输入的文件描述符:有误 %d \n",sendfd);fprintf(stdout,"请输入正确的格式:fd string\n");printf("newfd = %d 客服端关闭\n", i);printf("触发客服端连接事件\n");printf("触发客服端交互事件\n");printf("触发键盘输入事件\n");printf("发送成功\n");printf("触发事件!
2022-09-20 20:34:25
113
原创 联系2 udp
/地址族必须指定为AF_UNIX。//填充ip 和端口地址到地址信息结构体中,实际结构体是友地址族决定;//填充ip 和端口地址到地址信息结构体中,实际结构体是友地址族决定;//判断要绑定的套接字文件路径是否存在。//判断要绑定的套接字文件路径是否存在。//链接服务器的IP和端口。//链接服务器的IP和端口。
2022-09-19 20:44:48
40
原创 练习1 unix_tcp
/填充ip 和端口地址到地址信息结构体中,实际结构体是友地址族决定;//填充ip 和端口地址到地址信息结构体中,实际结构体是友地址族决定;printf("服务器关闭\n");printf("服务器关闭\n");printf("请输入>>>>>>>");//判断要绑定的套接字文件路径是否存在。//获得新的文件描述符,用来通信。//将套接字设置成被动监听状态。//链接服务器的IP和端口。
2022-09-19 20:01:58
474
原创 tcp 并发 pthread Concurrent
/获取新的套接字 主线程只负责链接,获取新的文件描述符,用于通信,交互的文件描述符。//能运行到当前位置,说明有客户端链接 则建立一个分支线程运行,交互。// 接收客户端的ip和端口。//填充IP和端口到地址信息结构体中,实际结构体是由地址族决定的;#define PORT 6666 //端口号。printf("客户端关闭\n");printf("允许端口快速重用设置成功\n");//绑定服务器的ip地址和端口,必须绑定。//将套接字设置为被动监听状态。//允许端口快速重用。
2022-09-19 19:42:23
120
原创 9-19 tcp 并发 fork Concurrent
define PORT 6666 //端口号。// 接收客户端的ip和端口。//获取新的文件描述符,该文件描述符才是用于通信,交互的文件描述符。//填充IP和端口到地址信息结构体中,实际结构体是由地址族决定的;//父进程只负责链接,即只负责运行accept函数。//能运行到当前位置,则代表有客户端链接成功。//捕获17信号,用信号的方式回收僵尸进程。//绑定服务器的ip地址和端口,必须绑定。//允许端口快速重用。
2022-09-19 19:14:29
64
原创 9-17 tftp
printf("服务器回答请求写成功,开始写入数据 %d %d\n", *p1, *p2);printf("服务器回答请求写成功,开始写入数据 %d %d\n", *p1, *p2);printf("接收成功,操作码 %d,块编号%d\n", *p1, *p2);printf("******1.下载*********\n");printf("******2.上传*********\n");printf("******3.退出*********\n");// 下载请求的文件名。//下载请求的文件名。
2022-09-19 09:02:04
62
原创 9-15 机械臂
/端口号的网络字节序:1204-49151。//地址族必须式制定。//填充ip 和端口地址到地址信息结构体中,实际结构体是友地址族决定;printf("请输入>>>>>>>\n");
2022-09-15 21:17:25
89
原创 9-15 服务器端 客户端
/地址族必须式制定。//地址族必须式制定。//填充ip 和端口地址到地址信息结构体中,实际结构体是友地址族决定;//填充ip 和端口地址到地址信息结构体中,实际结构体是友地址族决定;//获取新的文件描述符,该文件描述符才式用于通信,交互的文件描述符。printf("请输入>>>>>>>");//绑定服务器的ip地址和端口,必须绑定。
2022-09-15 21:16:33
56
原创 9-10 text1
printf("进程A接收%ld字节,内容为\n%s\n", res, msgpB.mtext);printf("进程B接收%ld字节,内容为\n%s\n", res, msgpA.mtext);printf("A请输入>>>");printf("B请输入>>>");//创建一个消息队列。//创建消息队列内容。//创建消息队列内容。
2022-09-13 21:20:05
60
原创 9-8 B线程杀死A线程
printf("创建管道文件成功\n");printf("打开文件大小成功\n");printf("写端已经关闭\n");printf("创建管道文件成功\n");printf("打开文件大小成功\n");
2022-09-08 21:18:20
44
原创 9-8 AB线程相互交互数据
printf("写入成功, res =%ld\n", res);printf("写入成功, res =%ld\n", res);printf("文件的写端已经关闭\n");printf("接受数据为 %s\n", str);printf("收到指针,退出写端\n");printf("收到指针,退出写端\n");printf("文件的写端已经关闭\n");printf("接受数据为 %s\n", str);printf("请输入 >>>\n");printf("请输入 >>>\n");//打开有名管道文件。
2022-09-08 21:16:48
47
原创 9-7 练习1
/设置全局变量int c;{{{}{}}}{{{}{}}}int main(){//初始化锁//初始化条件变量//创建线程= 0){}{}//阻塞// 销毁// 销毁}
2022-09-07 20:07:32
30
原创 8-2 练习
printf("线程A创建成功\n");printf("线程B创建成功\n");printf("创建互斥锁成功\n");printf("准备运行程序\n");printf("分支线程退出\n");/***临界区**////***临界区**////****临界区***//****临界区***/// 阻塞等待tid线程退出。...
2022-08-03 07:48:36
28
原创 8-2 练习1
printf("创建互斥锁成功\n");printf("线程A创建成功\n");printf("线程B创建成功\n");printf("准备运行程序\n");printf("分支线程退出\n");/***临界区**////***临界区**////****临界区***//****临界区***/// 阻塞等待tid线程退出。//创建互斥锁,并且初始化。...
2022-08-02 19:48:03
38
原创 8-1 io
include#include#include#include//僵尸进程intmain(){pid_tpid=fork();if(pid==0){printf("thisisparent%dchild%d\n",getpid(),pid);}elseif(pid>0){printf("thisisparent%dchild%d\n",getppid(),getpid。
2022-08-01 20:32:28
128
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人