业务逻辑 1. 服务端:创建socket,初始化消息队列 2. 服务端:创建至少一个线程处理消息队列中的请求 3. 服务端:等待客户端请求 4. 客户端:连接服务端 5. 客户端:读取c源码文件(无需自定义的.h头文件) 6. 客户端:将c源码文件通过预先创建好的socket发送给服务端 7. 服务端:创建一个线程,接受数据,并存入消息队列(暂存请求功能) 8. 服务端:消息队列是一个线程安全的表数据结构(可用链表或者数组) 9. 服务端: 消息处理线程,从消息队列中获取数据,将数据保存为c源码文件,并且通过临时的管道,执行编译指令(例如:gcc hello.c),将生成的可执行文件(例如:a.out),重新传回给客户端。 10. 客户端:接收服务端传回的数据,将数据保存成二进制文件,赋予该文件可执行权限,最后通过临时的管道,执行该文件,并将文件输出信息,打印到屏幕上。
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!