• 20155226 2017-2018-1 《信息安全系统设计基础》实验三报告


    20155226 2017-2018-1 《信息安全系统设计基础》实验三报告

    实验内容

    任务一

    1. 学习使用Linux命令wc(1)
    2. 基于Linux Socket程序设计实现wc(1)服务器(端口号是你学号的后6位)和客户端
    3. 客户端传一个文本文件给服务器,
      服务器返加文本文件中的单词数
    • 学习Linux命令wc

    为了正确实现统计单词个数的功能,找到其与wc命令的关系,先用man 1 wc查看wc命令的manpages:

    • wc指令功能:统计指定文件中的字节数、字数、行数,并将统计结果显示输出。
    • wc指令格式:wc [选项] 文件...
    • wc指令描述:其中word字长是由空格分隔的非零长度序列。
    • wc命令参数:
      • -c 统计字节数。
      • -l 统计行数。
      • -m 统计字符数。这个标志不能与 -c 标志一起使用。
      • -w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。
      • -L 打印最长行的长度。
    • mywc实现功能

    • 文件传输功能

    实现文件传输功能之前,首先要实现客户端和服务器的通信,结合我们在网络安全编程基础中学习的内容,我们知道客户端和服务器的通信过程如下:

    客户端:socket()→bind()→connect()→send()→recv()→close()
    服务器:socket()→bind()→accept()→recv()→send()→close()
    
    • 截图

    任务二

    • 使用多线程实现wc服务器并使用同步互斥机制保证计数正确

    • 截图

    实验中的问题及解决过程

    • 编译时出现error:ld returned 1 exit status

    解决方法:gcc -o xxx xxx.c -pthread

    代码托管

  • 相关阅读:
    Maven简介
    Activiti核心API
    Activiti数据库支持
    使用idea进行activiti工作流开发入门学习
    Activiti 工作流
    枚举其他用法
    枚举类的基本使用
    kotlin中抽象类
    kotlin中接口
    kotlin 类的继承
  • 原文地址:https://www.cnblogs.com/20155226thy/p/7853411.html
Copyright © 2020-2023  润新知