基于嵌入式linux的qq聊天系统设计(编辑修改稿)内容摘要:

为发送区域(可读可写)。 服务器端和客户端的数据传输方式 服务器端和客户端的数据是用 TCP 套接字来传输的。 IP 地址表示Inter上的计算机,端口号标识正在计算机运行的进程。 端口号与 IP地址的组合得出一 个网络套接字。 客户端使用 linux C 函数 socket建立到服务器的套接字连接。 当套接字连接 socket建立后,可以利用 linux C 语言中的 send函数和 recv 函数来实现简单的发送和接收消息。 服务器端功能设计 由于时间有限,服务器并没有用 QT 来编写界面,只是实现一个简单的控制程序。 服务器主要实现有: ( 1)创建套接字 ( 2)对套接字、 IP地址和端口号进行绑定 ( 3)进行监听 ( 4)等待客户端的连接 ( 5)对客户端接收和发送数据 5 客户端功能设计 客户端使用 QT 设计界面,客户端 实现的功能如下: ( 1) 创建套接字 ( 2)连接服务器 ( 3)与服务器通信 6 详细设计 (1)、功能分析和描述: 聊天工具包括两大功能模块:客户端和服务器端。 具体实现的功能创建套接字、连接通信、接收数据显示和发送数据。 ( 2)、客户端功能模块 连接服务器 连接服务器之前需要解析服务器地址、创建套接字、设置 sockaddr_in 结构体中相关参数。 发送消息功能 发送消息功能流程图如图 25所示。 接收消息模块 连 ( 3)、服务器功能模块 服务器的设计并没有使用 QT 编写界面,服务器端实现的功能有 服务器模块流程图 三、硬件电路设计或软件设计 代码实现 ( 1)、客户端代码 QT构造和析构函数 EditDemo::EditDemo(QWidget *parent, const char *name):QWidget(parent, name) { QGridLayout *grid = new QGridLayout(this, 6, 3, 0, 0)。 //IP addr QLabel *label1 = new QLabel( IP Addr:, this)。 gridaddWidget( label1, 0, 0 )。 edit_ip = new QLineEdit(this)。 edit_ipsetText()。 gridaddWidget( edit_ip, 0, 1 )。 //Server Port QLabel *label2 = new QLabel( Server Port:, this)。 gridaddWidget( label2, 1, 0)。 edit_port = new QLineEdit(this)。 edit_portsetText(4321)。 gridaddWidget( edit_port, 1, 1)。 QPushButton *btn = new QPushButton(Connect, this)。 /*add the connect button*/ gridaddWidget(btn,2,1)。 /*add the button*/ connect(btn, SIGNAL(clicked()), this, SLOT(ButtonConnect()))。 //multiline input mode QLabel *label3 = new QLabel( Contract Area:, this)。 gridaddWidget(label3, 3, 0)。 multiedit_contract = new QMultiLineEdit(this)。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。