摘 要:本系统是一款基于Linux平台的点对点聊天文件传输系统,主要使用C语言编写,借助于gcc编译器进行对代码进行编译,并且还使用了Makefile文件管理工具对代码进行统一的便以管理。本文详细的介绍了TCP传输协议,C/S模式(客户端/服务端模式),以及网络汇编相关的设计方法等。通过Socket流套接字实现客户端与服务器端的对接,并采取多线程达到让I/O流的非阻塞状态以达到多个任务同步处理的目的。整个系统采用模块化编程的思路,让系统代码更加的简洁高效。93369
毕业论文关键词:TCP,Socket套接字。
Abstract:The system is a Linux-based point-to-point chat and file transfer system, the main use of C language, with the help of GCC compiler to compile the code。 This paper describes in detail the TCP transport protocol, C / S mode (client / server mode), and network assembly-related design methods。 Through the SOCK_STREAM to achieve client and server-side docking, and take a multi-threaded I / O flow to achieve the purpose of non-blocking state。 The whole system uses modular programming ideas, so that the system code more concise and efficient。
Keywords:TCP,SOCK_STREAM
目 录
1引言 4
2 LINUX简介 4
3 Socket简介 5
3。1 开发原理 5
3。2 Socket的创建过程 6
4 GCC概述 8
4。1 GCC简介 8
4。2 GCC编译器的工作流程 8
5 TCP简介 9
5。1 TCP协议的特点 9
5。2 TCP三次握手过程 10
5。3 TCP断开连接 10
6 进程与线程 10
6。1 进程 10
6。2线程 11
6。3进程和线程的关系 12
6。4进程与线程的区别 12
7 Makefile简介 12
8 系统设计 14
8。1运行环境 14
8。2 客户需求 14
8。3系统功能描述 14
8。4系统功能划分 15
9详细设计说明 16
9。1初始化模块设计 16
9。2发送模块设计 19
9。3接收模块设计 21
9。4线性处理模块 22
9。5结束模块 22
结论 24
参考文献 25
致谢 26
1引言论文网
随着时代的发展,人们的生活水平日益提高,尤其是随着近年来互联网技术的高速发展,人们的生活方式也随之产生了巨大的变化,通过互联网传输资料也已经使人们的日常生活中必不可少的一部分。当前市面上已经有很多非常优秀的聊天文件传输工具,例如QQ等。但是主流的聊天软件都是在Windows环境下做的开发,并且只能在Windows环境下运行。