论文发表百科

毕业论文实现一个聊天室系统

发布时间:2024-07-02 23:33:09

毕业论文实现一个聊天室系统

毕业论文,泛指专科毕业论文、本科毕业论文(学士学位毕业论文)、硕士研究生毕业论文(硕士学位论文)、博士研究生毕业论文(博士学位论文)等,即需要在学业完成前写作并提交的论文,是教学或科研活动的重要组成部分之一。其主要目的是培养学生综合运用所学知识和技能,理论联系实际,独立分析,解决实际问题的能力,使学生得到从事本专业工作和进行相关的基本训练。其主要目的是培养学生综合运用所学知识和技能,理论联系实际,独立分析,解决实际问题的能力,使学生得到从事本专业工作和进行相关的基本训练。毕业论文应反映出作者能够准确地掌握所学的专业基础知识,基本学会综合运用所学知识进行科学研究的方法,对所研究的题目有一定的心得体会,论文题目的范围不宜过宽,一般选择本学科某一重要问题的一个侧面。

最近作品

课程辅助教学网站

电话拨号程序

Web浏览与搜索

传真收发

对Modem的控制

云台控制系统

自动报警系统

VC串口编程调试精灵

VC单片机通信

人事管理系统

企业员工考勤管理系统

简易留言本

简易论坛

在线聊天室

在线购物网站(C#)

热卖作品

企业人力资源管理系统

超市后台管理系统

课程辅助教学网站

学生档案管理系统(VB+...

电脑销售管理系统

图书管理系统

酒店管理系统

酒店客房管理系统(前台+...

在线考试系统

财务管理系统

企业工资管理系统

电子商务系统

学生成绩管理系统

人事管理系统

销售管理系统(VB+SQ...

支付宝信任公告

本站荣誉成为支付宝信任商家

最新推荐

VB类作品

财务管理系统

点灯游戏

学生档案管理系统(VB+...

医院工资管理系统

旅游资源管理系统(综合版...

POS(财务+人事+库房...

销售管理系统(VB+SQ...

图书管理系统

Delphi类作品

酒店客房管理系统(前台+...

人事档案管理系统

工资管理系统

固定资产管理系统

人力资源管理系统

库存管理系统

手机销售管理系统

远程教育管理系统

ASP类作品

课程辅助教学网站

在线考试系统

留言板(2)

在线校友录

学生成绩管理系统

在线聊天室(2)

企业网上办公系统

在线聊天室

VC类作品

电话拨号程序

Web浏览与搜索

传真收发

对Modem的控制

云台控制系统

自动报警系统

VC串口编程调试精灵

VC单片机通信

JSP类作品

简易论坛

在线聊天室

物流信息管理

企业网站

电子商务系统

企业经销存管理系统

企业OA(办公自动化系统...

人力资源管理系统

其他类作品

人事管理系统

企业员工考勤管理系统

简易留言本

贸易管理系统

小区管理系统(综合版)

会员管理系统

票据管理系统

经销存管理系统

企业员工计时和帐单管理

图片库管理系统

.NET类作品

在线购物网站(C#)

简易公司网站

在线图书管理系统(C#)

多彩网络文本编辑器(C#...

音乐合(C#)

论坛(C#)

在线服务网站(C#)

个人秘书办公系统

定做作品展示

工程图纸管理系统

电话号码查询系统

出版社信息系统

火车站售票系统

学生成绩管理系统

彩票号码查询分析系统

成绩查询系统

超市后台管理系统

电脑销售管理系统

工地工伤信息管理系统

参考网站 www 51ebysj com

----经 常 在Internet上 冲 浪 的 网 友 恐 怕 很 少 有 人 没 有 去 过 聊 天 室 神 侃 胡 吹 过。 你 只 要 稍 微 留 意 一 下 就 会 发 现 这 些 聊 天 室 大 多 是 用CGI程 序 或 者 用JAVA开 发 的Applet维 护 的。 开 发 过 这 类CGI或Applet的 程 序 员 都 知 道, 这 种 开 发 工 作 是 费 时 费 力 的。 那 么 有 没 有 一 种 更 简 单、 省 力 的 开 发 方 式 呢 ? 答 案 是 肯 定 的。 笔 者 利 用ASP很 快 就 开 发 了 一 个 聊 天 室, 该 聊 天 室 不 光 速 度 快, 维 护 也 特 方 便。 在 这 里 笔 者 想 把 开 发 过 程 中 的 技 术、 技 巧 和 心 得 介 绍 给 大 家。

----关 于ASP在《 计 算 机 世 界 报》 上 有 很 多 文 章 都 有 介 绍, 这 里 不 再 赘 述。 笔 者 工 作 的 单 位 里 有 一 个 由Windows 组 织 的LAN。NT服 务 器 上 安 装 了, 设 置 了 若 干 各WEB站 点, 其 中 一 个 取 名 为。 本 单 位 的WEB站 点 并 没 有 接 入Internet, 由 于 有 聊 天 室 却 也 吸 引 了 不 少 本 单 位 的 员 工。 如 果 您 的 工 作 环 境 与 我 们 的 相 同, 不 妨 也 在 自 己 的LAN里 面 如 法 炮 制 一 个 聊 天 室。

一、 聊 天 室 的 规 划:---- 1、 谈 话 内 容 储 存 方 式 的 选 择: 在 客 户 机 上 显 示 即 时 谈 话 的 内 容 应 以 什 么 方 式 储 存 在 服 务 器 呢 ?ASP有 两 种 选 择, 一 种 是 以 文 本 文 件 方 式, 一 种 是 以 数 据 库 方 式。 但 笔 者 感 觉ASP对 文 本 文 件 操 作 的 指 令 远 不 如ADO(ActiveDataObject)提 供 的 对 数 据 库 操 作 的 指 令 多。 所 以 利 用ADO,ASP能 对 数 据 库 灵 活 地 操 作, 比 如 插 入、 删 除、 更 新、 查 询 等 等。 笔 者 选 择Access数 据 库 来 储 存 谈 话 的 内 容。 该 数 据 库 内 容 只 保 留 一 天( 可 根 据LAN的 实 际 情 况 确 定 时 间 长 短) 的 谈 话 内 容。

---- 2、 聊 天 室 界 面 的 设 计: 为 了 客 户 能 够 方 便 地 浏 览 站 点 的 内 容, 又 能 尽 可 能 地 显 示 聊 天 室 的 内 容, 笔 者 在 一 幅 主 页 里 设 计 了 三 帧。 左 边 一 帧 显 示 的 是 站 点 的Index。 右 边 一 帧 又 分 成 上 下 两 帧。 上 帧 占70%, 用 来 显 示 当 前 聊 天 室 的 内 容; 下 帧 占30%, 用 来 提 供 一 个 文 本 输 入 框 和 供 用 户 反 馈 的 按 钮

---- 3、 进 入 聊 天 室 的 步 骤: 象 大 多 数 聊 天 室 一 样, 首 先 应 该 提 供 给 用 户 一 个 登 录 界 面, 由 用 户 输 入 自 己 的 名 字 或 别 名 和 自 己 随 意 给 定 的 密 码。 如 果 输 入 的 用 户 名 与 在 线 的 用 户 名 相 同, 则 提 示 用 户 重 新 选 择 用 户 名 或 重 新 输 入 密 码, 以 保 证 在 线 的 所 有 用 户 名 都 是 唯 一 的。 登 陆 成 功 后 进 入 聊 天 室, 内 容 显 示 帧 显 示“欢 迎 加 入”的 欢 迎 信 息。 用 户 就 可 以 在 文 本 输 入 区 内 输 入 谈 话 内 容 了。

二、 设 计 过 程 和 开 发 技 巧:---- 1、 设 计ODBC系 统 数 据 源: 如 前 所 述, 本 开 发 采 用ASP对ADO进 行 操 作, 因 此 必 须 先 对 数 据 源 进 行 设 置。 在NT服 务 器 的 控 制 面 板 里 双 击ODBC图 标, 在 系 统DSN页 添 加 系 统DSN, 选 择Microsoft Access Driver,Data Source Name为‘fybchat’, Database选 择Chat目 录 下 的.该 数 据 库 包 括 下 面 几 个 字 段:name, content,password,chattime,chatdate,分 别 以 来 存 储 姓 名、 谈 话 内 容、 密 码、 谈 话 时 间 和 谈 话 日 期。

---- 2、 登 录 界 面 设 计: 登 录 界 面 为 一html页, 包 含 一 些 警 告 信 息 和 一 个Form。 该Form以 来 获 取 用 户 名 和 密 码, 如 下 所 示:

姓 名:密 码:< /center >< br >< br >< center >< /center >< /form >----通 过 提 交 按 钮 来 激 发。 该ASP文 件 主 要 来 保 证 在 聊 天 室 里 没 有 两 个 用 户 是 同 名 的。 用 户 提 交 信 息 后, 该 文 件 打 开检 查 是 否 已 经 有 该 用 户 名, 如 果 有 但 密 码 不 对 就 提 醒 用 户 重 新 输 入 密 码, 如 果 没 有 那 么 用 户 就 顺 利 进 入 了 聊 天 室。 进 入 聊 天 室 界 面 的 功 能 由 下 列 语 句 完 成:

" NAME="footnotes"MARGINWIDTH="1"MARGINHEIGHT="1" Noresize >< /FRAMESET >----注 意 这 里 有 一 个 技 巧, 通 过 参 数kname将 用 户 的 姓 名 隐 藏 在 客 户 的 浏 览 器 里 面 了, 这 样 一 来, 用 户 每 次 提 交 谈 话 内 容 的 同 时 也 把 他 的 姓 名 提 交 了。

---- 3、 文 本 输 入 区 的 设 计: 文 本 输 入 区 是 由产 生 的。 如 上 所 述, 用 户 每 次 提 交 谈 话 内 容 的 同 时 也 把 他 的 姓 名 提 交 了, 用 户 提 交 谈 话 内 容 的 动 作 是 激 活。的 作 用 是 刷 新 聊 天 室 的 内 容。内 容 如 下:

< html >< head >< title >< /title >< /head >< body ><%kname=("kname")% >< /p >< /p > >< /form >< !--

Sub IeTimer1_Timer()if "" "" ifend sub

sub b1_onclick()""end sub-- >< /SCRIPT >< PARAM NAME="_ExtentX"VALUE="1005" >< PARAMNAME="_ExtentY"VALUE="1005" >< PARAM NAME="Interval"VALUE="7000" >< /OBJECT >

< /body >< /html >----这 时 又 出 现 了 一 个 问 题, 用 户 必 须 不 停 提 交 才 能 看 到 最 新 的 聊 天 室 内 容, 这 显 然 给 用 户 带 来 了 不 便。 于 是 考 虑 用 一 个timer的ActiveX控 件 来 控 制 聊 天 室 的 内 容 岂 不 更 好 ? 于 是 选 用 了Ietimer, 如 上< object > … …< /object >所 引 用, 每 隔7秒 钟 聊 天 室 内 容 自 动 更 新 一 次。 这 样 即 使 用 户 不 想 参 加 聊 天 也 可 以 坐 在 机 器 边 看 别 人 聊 天 了。

三、 总 结----由 上 述 开 发 过 程 我 们 可 以 知 道, 利 用ASP程 序 可 以 很 灵 活 地 传 递 参 数, 并 且 可 以 很 灵 活 地 将 程 序 流 程 分 割 成 几 个 单 独 的ASP程 序, 非 常 利 于 程 序 的 调 试, 对ActiveX控 件 的 支 持 和 对DAO的 强 大 操 作 能 力 使 得 利 用ASP能 够 开 发 功 能 非 常 强 大 的 程 序。

“对图中的那些函数,我这里稍加解释一下。”

int  WSAStartup(WORD wVersionRequested, LPWSADATA  lpWSAData);

功能是初始化Windows Socket Dll,在Windows下必须使用它。

参数:

“wVersionRequested”表示版本,可以是、等;

“lpWSAData”指向WSADATA数据结构的指针。

int socket(int family, int type, int protocol);

功能是建立Socket,返回以后会用到的Socket值。如果错误,返回-1。

参数:

“int family”参数指定所要使用的通信协议,取以下几个值:AF_UNIX(Unix内部协议)、AF_INET(Internet协议)、AF_NS Xerox(NS协议)、AF_IMPLINK(IMP连接层),在Windows下只能把“AF”设为“AF_INET”;

“int type”参数指定套接字的类型,取以下几个值:SOCK_STREAM(流套接字)、SOCK_DGRAM (数据报套接字)、SOCK_RAW(未加工套接字)、SOCK_SEQPACKET(顺序包套接字);

“int protocol”参数通常设置为0。

int bind(int sockfd, struct sockaddr *my_addr, int addrlen);

功能是把套接字和机器上一定的端口关联起来。

参数:

“sockfd”是调用socket()返回的套接字值;

“my_addr”是指向数据结构struct sockaddr的指针,它保存你的地址,即端口和IP地址信息;

“addrlen”设置为sizeof(struct sockaddr)。

int listen(int sockfd, int backlog);

功能是服务端监听一个端口,直到accept()。在发生错误时返回-1。

参数:

“sockfd”是调用socket()返回的套接字值;

“backlog”是允许的连接数目。大多数系统的允许数目是20,也可以设置为5到10。

int connect(int sockfd, struct sockaddr *serv_addr, int addrlen);

功能是客户端连接服务端监听的端口。

参数:

“sockfd”是调用socket()返回的套接字值;

“serv_addr”保存着目的地端口和IP 地址的数据结构struct sockaddr;

“addrlen”设置为sizeof(struct sockaddr)。

int accept(int sockfd, void *addr, int *addrlen);

功能是服务端接受客户端的连接请求,并返回一个新的套接字,以后服务端的数据传输就使用这个新的套接字。如果有错误,返回-1。

参数:

“sockfd”是和listen()中一样的套接字值;

“addr”是个指向局部的数据结构sockaddr_in的指针;

“addrlen”设置为sizeof(struct sockaddr_in)。

int send(int sockfd, const void *msg, int len, int flags);

int recv(int sockfd, void *buf, int len, unsigned int flags);

功能是用于流式套接字或数据报套接字的通讯,我们数据的真正传输就由它们完成。

参数:

“sockfd”是发/收数据的套接字值;

“msg”指向你想发送的数据的指针;

“buf”是指向接收数据存放的地址;

“len”是数据的长度;

“flags”设置为 0。

int sendto(int sockfd, const void *msg, int len, unsigned int flags,const struct sockaddr *to, int tolen);

int recvfrom(int sockfd, void *buf, int len, unsigned int flags, struct sockaddr *from, int *fromlen);

功能和send、recv类似,不过是用于无连接数据报套接字的传输。

int closesocket(int sockfd)

功能是关闭套接字。

参数“sockfd”为要关闭的套接字值。

程序:

“这里的目的是让大家对Socket编程有个整体了解。不用怕,程序我会详细解释的,首先是服务端的程序。其流程是:

socket()→bind()→listen→accept()→recv()/send()→closesocket()

具体代码如下:”

#include <>

#include <>

#pragma comment(lib,"Ws2_32")

#define MYPORT 830  /*定义用户连接端口*/

#define BACKLOG 10  /*多少等待连接控制*/

int main()

{

int sockfd, new_fd;                                  /*定义套接字*/

struct sockaddr_in my_addr;          /*本地地址信息 */

struct sockaddr_in their_addr;        /*连接者地址信息*/

int sin_size;

WSADATA ws;

WSAStartup(MAKEWORD(2,2),&ws);           //初始化Windows Socket Dll

//建立socket

if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1)

{

//如果建立socket失败,退出程序

printf("socket error\n");

exit(1);

}

//bind本机的MYPORT端口

 = AF_INET;                     /* 协议类型是INET  */

 = htons(MYPORT);            /* 绑定MYPORT端口*/

 = INADDR_ANY;   /* 本机IP*/

if (bind(sockfd, (struct sockaddr *)&my_addr, sizeof(struct sockaddr))== -1)

{

//bind失败,退出程序

printf("bind error\n");

closesocket(sockfd);

exit(1);

}

//listen,监听端口

if (listen(sockfd, BACKLOG) == -1)

{

//listen失败,退出程序

printf("listen error\n");

closesocket(sockfd);

exit(1);

}

printf("listen...");

//等待客户端连接

sin_size = sizeof(struct sockaddr_in);

if ((new_fd = accept(sockfd, (struct sockaddr *)&their_addr, &sin_size)) == -1)

{

printf("accept error\n");

closesocket(sockfd);

exit(1);

}

printf("\naccept!\n");

//有连接,发送ww0830字符串过去

if (send(new_fd, "ww0830\n", 14, 0) == -1)

{

printf("send error");

closesocket(sockfd);

closesocket(new_fd);

exit(1);

}

printf("send ok!\n");

//成功,关闭套接字

closesocket(sockfd);

closesocket(new_fd);

return 0;

}

对服务端程序的流程概括:

先是初始化Windows Socket Dll: WSAStartup(MAKEWORD(2,2),&ws);

然后建立Socket: sockfd = socket(AF_INET, SOCK_STREAM, 0)

再bind本机的MYPORT端口:

 = AF_INET;         /* 协议类型是INET   */

 = htons(MYPORT);       /* 绑定MYPORT端口  */

 = INADDR_ANY;   /* 本机IP           */

bind(sockfd, (struct sockaddr *)&my_addr, sizeof(struct sockaddr))

接下来监听端口: listen(sockfd, BACKLOG)

如果有客户端的连接请求,接收它: new_fd = accept(sockfd, (struct sockaddr *)&their_addr, &sin_size)

最后发送ww0830字符串过去: send(new_fd, "ww0830\n", 14, 0)

收尾工作,关闭socket: closesocket(sockfd);    closesocket(new_fd);  ”

编译、执行,就会一直监听830端口

客户端程序了。其流程是:

socket()→connect()→send()/recv()→closesocket()

比服务端更简单吧!其实现代码如下:”

#include <>

#include <>

#include <>

#pragma comment(lib,"Ws2_32")

#define PORT 830                            /* 客户机连接远程主机的端口 */

#define MAXDATASIZE 100                     /* 每次可以接收的最大字节 */

int main(int argc, char *argv[])

{

int sockfd, numbytes;

char buf[MAXDATASIZE];

struct sockaddr_in their_addr;        /* 对方的地址端口信息 */

if (argc != 2)

{

//需要有服务端ip参数

fprintf(stderr,"usage: client hostname\n");

exit(1);

}

WSADATA ws;

WSAStartup(MAKEWORD(2,2),&ws);         //初始化Windows Socket Dll

if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1)

{

//如果建立socket失败,退出程序

printf("socket error\n");

exit(1);

}

//连接对方

 = AF_INET;                         /* 协议类型是INET  */

 = htons(PORT);                       /* 连接对方PORT端口 */

 = inet_addr(argv[1]);        /* 连接对方的IP */

if (connect(sockfd, (struct sockaddr *)&their_addr,sizeof(struct sockaddr)) == -1)

{

//如果连接失败,退出程序

printf("connet error\n");

closesocket(sockfd);

exit(1);

}

//接收数据,并打印出来

if ((numbytes=recv(sockfd, buf, MAXDATASIZE, 0)) == -1)

{

//接收数据失败,退出程序

printf("recv error\n");

closesocket(sockfd);

exit(1);

}

buf[numbytes] = '\0';

printf("Received: %s",buf);

closesocket(sockfd);

return 0;

}

对客户端程序的流程概括:

首先是初始化Windows Socket Dll: WSAStartup(MAKEWORD(2,2),&ws);

然后建立Socket: sockfd = socket(AF_INET, SOCK_STREAM, 0)

接着连接服务器方:

 = AF_INET;                                 /* 协议类型是INET    */

 = htons(PORT);                           /* 连接对方PORT端口      */

 = inet_addr(argv[1]);         /* 连接对方的IP  */

connect(sockfd, (struct sockaddr *)&their_addr,sizeof(struct sockaddr))

连接成功就接收数据: recv(sockfd, buf, MAXDATASIZE, 0)

最后把收到的数据打印出来并关闭套接字:

printf("Received: %s",buf);      closesocket(sockfd);

编译结束后,运行服务端,然后。客户端 服务端IP  回车

你会看到服务端发来得数据。

那么基本的点对点通信就没问题了。只要两台机器同时包含服务端和客户端,就可以互相通信了。

当然,你也可以将服务端和客户端分开做,专门一个服务器负责用户登录和转发消息。

流程如下:

A客户端发登录消息-----》服务器

服务器验证发送用户消息----》客户端

A客户端想发消息给B客户端----》先发给服务端

服务器得到消息查询B客户端IP并转发消息。(或者B客户端循环发消息询问服务器有无消息)

通信结束。

聊天系统毕业论文

“对图中的那些函数,我这里稍加解释一下。”

int  WSAStartup(WORD wVersionRequested, LPWSADATA  lpWSAData);

功能是初始化Windows Socket Dll,在Windows下必须使用它。

参数:

“wVersionRequested”表示版本,可以是、等;

“lpWSAData”指向WSADATA数据结构的指针。

int socket(int family, int type, int protocol);

功能是建立Socket,返回以后会用到的Socket值。如果错误,返回-1。

参数:

“int family”参数指定所要使用的通信协议,取以下几个值:AF_UNIX(Unix内部协议)、AF_INET(Internet协议)、AF_NS Xerox(NS协议)、AF_IMPLINK(IMP连接层),在Windows下只能把“AF”设为“AF_INET”;

“int type”参数指定套接字的类型,取以下几个值:SOCK_STREAM(流套接字)、SOCK_DGRAM (数据报套接字)、SOCK_RAW(未加工套接字)、SOCK_SEQPACKET(顺序包套接字);

“int protocol”参数通常设置为0。

int bind(int sockfd, struct sockaddr *my_addr, int addrlen);

功能是把套接字和机器上一定的端口关联起来。

参数:

“sockfd”是调用socket()返回的套接字值;

“my_addr”是指向数据结构struct sockaddr的指针,它保存你的地址,即端口和IP地址信息;

“addrlen”设置为sizeof(struct sockaddr)。

int listen(int sockfd, int backlog);

功能是服务端监听一个端口,直到accept()。在发生错误时返回-1。

参数:

“sockfd”是调用socket()返回的套接字值;

“backlog”是允许的连接数目。大多数系统的允许数目是20,也可以设置为5到10。

int connect(int sockfd, struct sockaddr *serv_addr, int addrlen);

功能是客户端连接服务端监听的端口。

参数:

“sockfd”是调用socket()返回的套接字值;

“serv_addr”保存着目的地端口和IP 地址的数据结构struct sockaddr;

“addrlen”设置为sizeof(struct sockaddr)。

int accept(int sockfd, void *addr, int *addrlen);

功能是服务端接受客户端的连接请求,并返回一个新的套接字,以后服务端的数据传输就使用这个新的套接字。如果有错误,返回-1。

参数:

“sockfd”是和listen()中一样的套接字值;

“addr”是个指向局部的数据结构sockaddr_in的指针;

“addrlen”设置为sizeof(struct sockaddr_in)。

int send(int sockfd, const void *msg, int len, int flags);

int recv(int sockfd, void *buf, int len, unsigned int flags);

功能是用于流式套接字或数据报套接字的通讯,我们数据的真正传输就由它们完成。

参数:

“sockfd”是发/收数据的套接字值;

“msg”指向你想发送的数据的指针;

“buf”是指向接收数据存放的地址;

“len”是数据的长度;

“flags”设置为 0。

int sendto(int sockfd, const void *msg, int len, unsigned int flags,const struct sockaddr *to, int tolen);

int recvfrom(int sockfd, void *buf, int len, unsigned int flags, struct sockaddr *from, int *fromlen);

功能和send、recv类似,不过是用于无连接数据报套接字的传输。

int closesocket(int sockfd)

功能是关闭套接字。

参数“sockfd”为要关闭的套接字值。

程序:

“这里的目的是让大家对Socket编程有个整体了解。不用怕,程序我会详细解释的,首先是服务端的程序。其流程是:

socket()→bind()→listen→accept()→recv()/send()→closesocket()

具体代码如下:”

#include <>

#include <>

#pragma comment(lib,"Ws2_32")

#define MYPORT 830  /*定义用户连接端口*/

#define BACKLOG 10  /*多少等待连接控制*/

int main()

{

int sockfd, new_fd;                                  /*定义套接字*/

struct sockaddr_in my_addr;          /*本地地址信息 */

struct sockaddr_in their_addr;        /*连接者地址信息*/

int sin_size;

WSADATA ws;

WSAStartup(MAKEWORD(2,2),&ws);           //初始化Windows Socket Dll

//建立socket

if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1)

{

//如果建立socket失败,退出程序

printf("socket error\n");

exit(1);

}

//bind本机的MYPORT端口

 = AF_INET;                     /* 协议类型是INET  */

 = htons(MYPORT);            /* 绑定MYPORT端口*/

 = INADDR_ANY;   /* 本机IP*/

if (bind(sockfd, (struct sockaddr *)&my_addr, sizeof(struct sockaddr))== -1)

{

//bind失败,退出程序

printf("bind error\n");

closesocket(sockfd);

exit(1);

}

//listen,监听端口

if (listen(sockfd, BACKLOG) == -1)

{

//listen失败,退出程序

printf("listen error\n");

closesocket(sockfd);

exit(1);

}

printf("listen...");

//等待客户端连接

sin_size = sizeof(struct sockaddr_in);

if ((new_fd = accept(sockfd, (struct sockaddr *)&their_addr, &sin_size)) == -1)

{

printf("accept error\n");

closesocket(sockfd);

exit(1);

}

printf("\naccept!\n");

//有连接,发送ww0830字符串过去

if (send(new_fd, "ww0830\n", 14, 0) == -1)

{

printf("send error");

closesocket(sockfd);

closesocket(new_fd);

exit(1);

}

printf("send ok!\n");

//成功,关闭套接字

closesocket(sockfd);

closesocket(new_fd);

return 0;

}

对服务端程序的流程概括:

先是初始化Windows Socket Dll: WSAStartup(MAKEWORD(2,2),&ws);

然后建立Socket: sockfd = socket(AF_INET, SOCK_STREAM, 0)

再bind本机的MYPORT端口:

 = AF_INET;         /* 协议类型是INET   */

 = htons(MYPORT);       /* 绑定MYPORT端口  */

 = INADDR_ANY;   /* 本机IP           */

bind(sockfd, (struct sockaddr *)&my_addr, sizeof(struct sockaddr))

接下来监听端口: listen(sockfd, BACKLOG)

如果有客户端的连接请求,接收它: new_fd = accept(sockfd, (struct sockaddr *)&their_addr, &sin_size)

最后发送ww0830字符串过去: send(new_fd, "ww0830\n", 14, 0)

收尾工作,关闭socket: closesocket(sockfd);    closesocket(new_fd);  ”

编译、执行,就会一直监听830端口

客户端程序了。其流程是:

socket()→connect()→send()/recv()→closesocket()

比服务端更简单吧!其实现代码如下:”

#include <>

#include <>

#include <>

#pragma comment(lib,"Ws2_32")

#define PORT 830                            /* 客户机连接远程主机的端口 */

#define MAXDATASIZE 100                     /* 每次可以接收的最大字节 */

int main(int argc, char *argv[])

{

int sockfd, numbytes;

char buf[MAXDATASIZE];

struct sockaddr_in their_addr;        /* 对方的地址端口信息 */

if (argc != 2)

{

//需要有服务端ip参数

fprintf(stderr,"usage: client hostname\n");

exit(1);

}

WSADATA ws;

WSAStartup(MAKEWORD(2,2),&ws);         //初始化Windows Socket Dll

if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1)

{

//如果建立socket失败,退出程序

printf("socket error\n");

exit(1);

}

//连接对方

 = AF_INET;                         /* 协议类型是INET  */

 = htons(PORT);                       /* 连接对方PORT端口 */

 = inet_addr(argv[1]);        /* 连接对方的IP */

if (connect(sockfd, (struct sockaddr *)&their_addr,sizeof(struct sockaddr)) == -1)

{

//如果连接失败,退出程序

printf("connet error\n");

closesocket(sockfd);

exit(1);

}

//接收数据,并打印出来

if ((numbytes=recv(sockfd, buf, MAXDATASIZE, 0)) == -1)

{

//接收数据失败,退出程序

printf("recv error\n");

closesocket(sockfd);

exit(1);

}

buf[numbytes] = '\0';

printf("Received: %s",buf);

closesocket(sockfd);

return 0;

}

对客户端程序的流程概括:

首先是初始化Windows Socket Dll: WSAStartup(MAKEWORD(2,2),&ws);

然后建立Socket: sockfd = socket(AF_INET, SOCK_STREAM, 0)

接着连接服务器方:

 = AF_INET;                                 /* 协议类型是INET    */

 = htons(PORT);                           /* 连接对方PORT端口      */

 = inet_addr(argv[1]);         /* 连接对方的IP  */

connect(sockfd, (struct sockaddr *)&their_addr,sizeof(struct sockaddr))

连接成功就接收数据: recv(sockfd, buf, MAXDATASIZE, 0)

最后把收到的数据打印出来并关闭套接字:

printf("Received: %s",buf);      closesocket(sockfd);

编译结束后,运行服务端,然后。客户端 服务端IP  回车

你会看到服务端发来得数据。

那么基本的点对点通信就没问题了。只要两台机器同时包含服务端和客户端,就可以互相通信了。

当然,你也可以将服务端和客户端分开做,专门一个服务器负责用户登录和转发消息。

流程如下:

A客户端发登录消息-----》服务器

服务器验证发送用户消息----》客户端

A客户端想发消息给B客户端----》先发给服务端

服务器得到消息查询B客户端IP并转发消息。(或者B客户端循环发消息询问服务器有无消息)

通信结束。

大量事实证明,确保网络安全已经是一件刻不容缓的大事,网络安全的 毕业 论文选题确立也是一件至关重要的事情。下面是我带来的关于网络安全毕业论文选题的内容,欢迎阅读参考! 网络安全毕业论文选题(一) 1. 教学网页的设计与应用 2. 教学互动网站的设计与实现 3. 个人网站的设计与实现 4. 电子商务网站的设计与实现 5. 基于ASP的动态网站设计与实现 6. 论网上商店的设计 方法 7. 留言板设计与实现 8. 企业公司网站的设计与实现 9. Flash动画设计及制作 10. 基于flash的聊天室的设计 11. 基于FLASH的多媒体课件设计与开发 12. 多媒体课件开发研究 13. 基于ASP学院图书管理系统 14. 图书综合管理系统设计与实现 15. 计算机病毒解析与防范 16. 计算机安全技术应用 17. 管理信息系统设计与实现 18. 信息安全技术及其应用 19. 信息系统分析与设计 网络安全毕业论文选题(二) 1、局域网的组建方法 2、图书管理系统的设计 3、计算机网络安全及防火墙技术 4、校园网站设计 4、数据库语言编写学生学籍管理 5、个人 电脑安全 意识如何提高 6、浅析计算机病毒及防范的 措施 7、浅谈计算机网络安全漏洞及防范措施 8、二十一世纪的计算机硬件技术 9、计算机最新技术发展趋势 10、计算机病毒的研究与防治 11、论述磁盘工作原理以及相关调度算法 12、高校计算机机房管理的维护和探索 13、C语言教学系统设计 14、浅谈子网掩码与子网划分 15、微机黑屏故障与防治研究 16、虚拟局域网的组建与应用 17、学校图书管理系统的设计 18、计算机网络安全管理 网络安全毕业论文选题(三) 1. 病毒入侵微机的途径与防治研究 2. 微机黑屏故障与防治研究 3. NAT技术在局域网中的应用 4. 基于Socket的网络聊天系统开发与设计 5. 计算机网络故障的一般识别与解决方法 6. 访问控制列表ACL在校园网中的应用初探 7. 常用动态路由协议安全性分析及应用 8. 数字证书在网络安全中的应用 9. 计算机病毒的攻与防 10. ARP欺在网络中的应用及防范 11. TCP安全问题浅析 12. 网络入侵手段与网络入侵技术 13. 技术在局域网中的应用 14. IDS技术在网络安全中的应用 15. Dos与DDos攻击与防范措施 16. DHCP安全问题及其防范措施 17. 校园网规划及相关技术 18. 企业网组建及相关技术 19. 网吧组建及相关技术 20. 无线网现状及相关技术 猜你喜欢: 1. 网络工程毕业论文题目 2. 最新版网络工程专业毕业论文题目 3. 网络安全论文参考文献 4. 网络安全征文2000字 5. 网络安全与管理毕业论文最新范文

即时聊天系统的毕业论文

这我懂,能帮你弄篇.

毕业论文,泛指专科毕业论文、本科毕业论文(学士学位毕业论文)、硕士研究生毕业论文(硕士学位论文)、博士研究生毕业论文(博士学位论文)等,即需要在学业完成前写作并提交的论文,是教学或科研活动的重要组成部分之一。其主要目的是培养学生综合运用所学知识和技能,理论联系实际,独立分析,解决实际问题的能力,使学生得到从事本专业工作和进行相关的基本训练。其主要目的是培养学生综合运用所学知识和技能,理论联系实际,独立分析,解决实际问题的能力,使学生得到从事本专业工作和进行相关的基本训练。毕业论文应反映出作者能够准确地掌握所学的专业基础知识,基本学会综合运用所学知识进行科学研究的方法,对所研究的题目有一定的心得体会,论文题目的范围不宜过宽,一般选择本学科某一重要问题的一个侧面。

百度搜索 源码之家,很多很多下源码的网站。可以进去选择ASP源码,有ACCESS和SQL两种数据库的网站。可以选择适合的,

局域网聊天系统毕业论文

计算机网络安全及防范技术摘 要 主要阐述计算机信息网络攻击和入侵的特点、方法以及其安全防范手段。关键词 计算机网络安全 防范技术1 计算机网络安全的含义计算机网络安全的具体含义会随着使用者的变化而变化,使用者不同,对网络安全的认识和要求也就不同。例如从普通使用者的角度来说,可能仅仅希望个人隐私或机密信息在网络上传输时受到保护,避免被窃听、篡改和伪造;而网络提供商除了关心这些网络信息安全外,还要考虑如何应付突发的自然灾害、军事打击等对网络硬件的破坏,以及在网络出现异常时如何恢复网络通信,保持网络通信的连续性。从本质上来讲,网络安全包括组成网络系统的硬件、软件及其在网络上传输信息的安全性,使其不致因偶然的或者恶意的攻击遭到破坏,网络安全既有技术方面的问题,也有管理方面的问题,两方面相互补充,缺一不可。人为的网络入侵和攻击行为使得网络安全面临新的挑战。2 计算机网络攻击的特点计算机网络攻击具有下述特点:①损失巨大。由于攻击和入侵的对象是网络上的计算机,所以一旦他们取得成功,就会使网络中成千上万台计算机处于瘫痪状态,从而给计算机用户造成巨大的经济损失。如美国每年因计算机犯罪而造成的经济损失就达几百亿美元。平均一起计算机犯罪案件所造成的经济损失是一般案件的几十到几百倍。②威胁社会和国家安全。一些计算机网络攻击者出于各种目的经常把政府要害部门和军事部门的计算机作为攻击目标,从而对社会和国家安全造成威胁。③手段多样,手法隐蔽。计算机攻击的手段可以说五花八门。网络攻击者既可以通过监视网上数据来获取别人的保密信息;也可以通过截取别人的帐号和口令堂而皇之地进入别人的计算机系统;还可以通过一些特殊的方法绕过人们精心设计好的防火墙等等。这些过程都可以在很短的时间内通过任何一台联网的计算机完成。因而犯罪不留痕迹,隐蔽性很强。④以软件攻击为主。几乎所有的网络入侵都是通过对软件的截取和攻击从而破坏整个计算机系统的。它完全不同于人们在生活中所见到的对某些机器设备进行物理上的摧毁。因此,这一方面导致了计算机犯罪的隐蔽性,另一方面又要求人们对计算机的各种软件(包括计算机通信过程中的信息流)进行严格的保护。3 计算机网络中的安全缺陷及产生的原因网络安全缺陷产生的原因主要有:第一,TCP/IP的脆弱性。因特网的基石是TCP/IP协议。但不幸的是该协议对于网络的安全性考虑得并不多。并且,由于TCP/IP协议是公布于众的,如果人们对TCP/IP很熟悉,就可以利用它的安全缺陷来实施网络攻击。第二,网络结构的不安全性。因特网是一种网间网技术。它是由无数个局域网所连成的一个巨大网络。当人们用一台主机和另一局域网的主机进行通信时,通常情况下它们之间互相传送的数据流要经过很多机器重重转发,如果攻击者利用一台处于用户的数据流传输路径上的主机,他就可以劫持用户的数据包。第三,易被窃听。由于因特网上大多数数据流都没有加密,因此人们利用网上免费提供的工具就很容易对网上的电子邮件、口令和传输的文件进行窃听。第四,缺乏安全意识。虽然网络中设置了许多安全保护屏障,但人们普遍缺乏安全意识,从而使这些保护措施形同虚设。如人们为了避开防火墙代理服务器的额外认证,进行直接的PPP连接从而避开了防火墙的保护。4 网络攻击和入侵的主要途径网络入侵是指网络攻击者通过非法的手段(如破译口令、电子欺等)获得非法的权限,并通过使用这些非法的权限使网络攻击者能对被攻击的主机进行非授权的操作。网络入侵的主要途径有:破译口令、IP欺和DNS欺。口令是计算机系统抵御入侵者的一种重要手段,所谓口令入侵是指使用某些合法用户的帐号和口令登录到目的主机,然后再实施攻击活动。这种方法的前提是必须先得到该主机上的某个合法用户的帐号,然后再进行合法用户口令的破译。获得普通用户帐号的方法很多,如: 利用目标主机的Finger功能:当用Finger命令查询时,主机系统会将保存的用户资料(如用户名、登录时间等)显示在终端或计算机上;利用目标主机的服务:有些主机没有关闭的目录查询服务,也给攻击者提供了获得信息的一条简易途径;从电子邮件地址中收集:有些用户电子邮件地址常会透露其在目标主机上的帐号;查看主机是否有习惯性的帐号:有经验的用户都知道,很多系统会使用一些习惯性的帐号,造成帐号的泄露。IP欺是指攻击者伪造别人的IP地址,让一台计算机假冒另一台计算机以达到蒙混过关的目的。它只能对某些特定的运行TCP/IP的计算机进行入侵。IP欺利用了TCP/IP网络协议的脆弱性。在TCP的三次握手过程中,入侵者假冒被入侵主机的信任主机与被入侵主机进行连接,并对被入侵主机所信任的主机发起淹没攻击,使被信任的主机处于瘫痪状态。当主机正在进行远程服务时,网络入侵者最容易获得目标网络的信任关系,从而进行IP欺。IP欺是建立在对目标网络的信任关系基础之上的。同一网络的计算机彼此都知道对方的地址,它们之间互相信任。由于这种信任关系,这些计算机彼此可以不进行地址的认证而执行远程操作。域名系统(DNS)是一种用于TCP/IP应用程序的分布式数据库,它提供主机名字和IP地址之间的转换信息。通常,网络用户通过UDP协议和DNS服务器进行通信,而服务器在特定的53端口监听,并返回用户所需的相关信息。DNS协议不对转换或信息性的更新进行身份认证,这使得该协议被人以一些不同的方式加以利用。当攻击者危害DNS服务器并明确地更改主机名—IP地址映射表时,DNS欺就会发生。这些改变被写入DNS服务器上的转换表。因而,当一个客户机请求查询时,用户只能得到这个伪造的地址,该地址是一个完全处于攻击者控制下的机器的IP地址。因为网络上的主机都信任DNS服务器,所以一个被破坏的DNS服务器可以将客户引导到非法的服务器,也可以欺服务器相信一个IP地址确实属于一个被信任客户。5 常见的网络攻击及其防范对策 特洛伊木马特洛伊木马程序技术是黑客常用的攻击手段。它通过在你的电脑系统隐藏一个会在Windows启动时运行的程序,采用服务器/客户机的运行方式,从而达到在上网时控制你电脑的目的。特洛伊木马是夹带在执行正常功能的程序中的一段额外操作代码。因为在特洛伊木马中存在这些用户不知道的额外操作代码,因此含有特洛伊木马的程序在执行时,表面上是执行正常的程序,而实际上是在执行用户不希望的程序。特洛伊木马程序包括两个部分,即实现攻击者目的的指令和在网络中传播的指令。特洛伊木马具有很强的生命力,在网络中当人们执行一个含有特洛伊木马的程序时,它能把自己插入一些未被感染的程序中,从而使它们受到感染。此类攻击对计算机的危害极大,通过特洛伊木马,网络攻击者可以读写未经授权的文件,甚至可以获得对被攻击的计算机的控制权。防止在正常程序中隐藏特洛伊木马的主要方法是人们在生成文件时,对每一个文件进行数字签名,而在运行文件时通过对数字签名的检查来判断文件是否被修改,从而确定文件中是否含有特洛伊木马。避免下载可疑程序并拒绝执行,运用网络扫描软件定期监视内部主机上的监听TCP服务。 邮件炸弹电子邮件炸弹是最古老的匿名攻击之一,通过设置一台机器不断的大量的向同一地址发送电子邮件,攻击者能够耗尽接受者网络的带宽,占据邮箱的空间,使用户的存储空间消耗殆尽,从而阻止用户对正常邮件的接收,防碍计算机的正常工作。此种攻击经常出现在网络黑客通过计算机网络对某一目标的报复活动中。防止邮件炸弹的方法主要有通过配置路由器,有选择地接收电子邮件,对邮件地址进行配置,自动删除来自同一主机的过量或重复的消息,也可使自己的SMTP连接只能达成指定的服务器,从而免受外界邮件的侵袭。 过载攻击过载攻击是攻击者通过服务器长时间发出大量无用的请求,使被攻击的服务器一直处于繁忙的状态,从而无法满足其他用户的请求。过载攻击中被攻击者用得最多的一种方法是进程攻击,它是通过大量地进行人为地增大CPU的工作量,耗费CPU的工作时间,使其它的用户一直处于等待状态。防止过载攻击的方法有:限制单个用户所拥有的最大进程数;杀死一些耗时的进程。然而,不幸的是这两种方法都存在一定的负面效应。通过对单个用户所拥有的最大进程数的限制和耗时进程的删除,会使用户某些正常的请求得不到系统的响应,从而出现类似拒绝服务的现象。通常,管理员可以使用网络监视工具来发现这种攻击,通过主机列表和网络地址列表来分析问题的所在,也可以登录防火墙或路由器来发现攻击究竟是来自于网络外部还是网络内部。另外,还可以让系统自动检查是否过载或者重新启动系统。 淹没攻击正常情况下,TCP连接建立要经历3次握手的过程,即客户机向主机发送SYN请求信号;目标主机收到请求信号后向客户机发送SYN/ACK消息;客户机收到SYN/ACK消息后再向主机发送RST信号并断开连接。TCP的这三次握手过程为人们提供了攻击网络的机会。攻击者可以使用一个不存在或当时没有被使用的主机的IP地址,向被攻击主机发出SYN请求信号,当被攻击主机收到SYN请求信号后,它向这台不存在IP地址的伪装主机发出SYN/消息。由于此时主机的IP不存在或当时没有被使用所以无法向主机发送RST,因此,造成被攻击的主机一直处于等待状态,直至超时。如果攻击者不断地向被攻击的主机发送SYN请求,被攻击主机就会一直处于等待状态,从而无法响应其他用户的请求。对付淹没攻击的最好方法是实时监控系统处于SYN-RECEIVED状态的连接数,当连接数超过某一给定的数值时,实时关闭这些连接。参考文献1 胡道元.计算机局域网〔M〕.北京:清华大学出版社,20012 朱理森,张守连.计算机网络应用技术〔M〕.北京:专利文献出版社,20013 刘占全.网络管理与防火墙〔M〕.北京:人民邮电出版社,1999

论文研究中支持你得出结果和结论的数据统称为原始数据

大量事实证明,确保网络安全已经是一件刻不容缓的大事,网络安全的 毕业 论文选题确立也是一件至关重要的事情。下面是我带来的关于网络安全毕业论文选题的内容,欢迎阅读参考! 网络安全毕业论文选题(一) 1. 教学网页的设计与应用 2. 教学互动网站的设计与实现 3. 个人网站的设计与实现 4. 电子商务网站的设计与实现 5. 基于ASP的动态网站设计与实现 6. 论网上商店的设计 方法 7. 留言板设计与实现 8. 企业公司网站的设计与实现 9. Flash动画设计及制作 10. 基于flash的聊天室的设计 11. 基于FLASH的多媒体课件设计与开发 12. 多媒体课件开发研究 13. 基于ASP学院图书管理系统 14. 图书综合管理系统设计与实现 15. 计算机病毒解析与防范 16. 计算机安全技术应用 17. 管理信息系统设计与实现 18. 信息安全技术及其应用 19. 信息系统分析与设计 网络安全毕业论文选题(二) 1、局域网的组建方法 2、图书管理系统的设计 3、计算机网络安全及防火墙技术 4、校园网站设计 4、数据库语言编写学生学籍管理 5、个人 电脑安全 意识如何提高 6、浅析计算机病毒及防范的 措施 7、浅谈计算机网络安全漏洞及防范措施 8、二十一世纪的计算机硬件技术 9、计算机最新技术发展趋势 10、计算机病毒的研究与防治 11、论述磁盘工作原理以及相关调度算法 12、高校计算机机房管理的维护和探索 13、C语言教学系统设计 14、浅谈子网掩码与子网划分 15、微机黑屏故障与防治研究 16、虚拟局域网的组建与应用 17、学校图书管理系统的设计 18、计算机网络安全管理 网络安全毕业论文选题(三) 1. 病毒入侵微机的途径与防治研究 2. 微机黑屏故障与防治研究 3. NAT技术在局域网中的应用 4. 基于Socket的网络聊天系统开发与设计 5. 计算机网络故障的一般识别与解决方法 6. 访问控制列表ACL在校园网中的应用初探 7. 常用动态路由协议安全性分析及应用 8. 数字证书在网络安全中的应用 9. 计算机病毒的攻与防 10. ARP欺在网络中的应用及防范 11. TCP安全问题浅析 12. 网络入侵手段与网络入侵技术 13. 技术在局域网中的应用 14. IDS技术在网络安全中的应用 15. Dos与DDos攻击与防范措施 16. DHCP安全问题及其防范措施 17. 校园网规划及相关技术 18. 企业网组建及相关技术 19. 网吧组建及相关技术 20. 无线网现状及相关技术 猜你喜欢: 1. 网络工程毕业论文题目 2. 最新版网络工程专业毕业论文题目 3. 网络安全论文参考文献 4. 网络安全征文2000字 5. 网络安全与管理毕业论文最新范文

聊天室毕业论文摘要

第一,避免出现谦词、关联词、感叹词、疑问词等。第二,摘要属纯客观介绍,一般用第三人称。第三,本科毕业论文摘要一般不用分段。第四,摘要应避免和论文引言、结论部分重复。第五,摘要要结构严谨避免冗杂,用简洁话语表述即可,一般不用长句。

就是你写论文的大标题,基本上要有3级。你的题目比如:一、网上聊天室(一)概述 1、定义二、网上聊天室的制作三、网上聊天室的实现

毕业设计论文摘要怎么写

论文摘要是对论文的内容不加注释和评论的简短陈述,要求扼要地说明研究工作的目的、研究方法和最终结论等,重点是结论,是一篇具有独立性和完整性的短文,根据内容的不同,摘要可分为以下三大类:报道性摘要、指示性摘要和报道指示性摘要。下面和我一起来看毕业设计论文摘要怎么写,希望有所帮助!

一、论文摘要的定义

摘要一般应说明研究工作目的、实验方法、结果和最终结论等,而重点是结果和结论。中文摘要一般不宜超过300字,外文摘要不宜超过250个实词。除了实在迫不得已,摘要中不用图、表、化学结构式、非公知公用的符号和术语。摘要可用另页置于题名页(页上无正文)之前,学术论文的摘要一般置于题名和作者之后,论文正文之前。

论文摘要又称概要、内容提要。摘要是以提供文献内容梗概为目的,不加评论和补充解释,简明、确切地记述文献重要内容的短文。其基本要素包括研究目的、方法、结果和结论。具体地讲就是研究工作的主要对象和范围,采用的手段和方法,得出的结果和重要的结论,有时也包括具有情报价值的其它重要的信息。摘要应具有独立性和自明性,并且拥有与文献同等量的主要信息,即不阅读全文,就能获得必要的信息。摘要不容赘言,故需逐字推敲。内容必须完整、具体、使人一目了然。英文摘要虽以中文摘要为基础,但要考虑到不能阅读中文的读者的需求,实质性的内容不能遗漏。

二、论文摘要的分类

根据内容的不同,摘要可分为以下三大类:报道性摘要、指示性摘要和报道—指示性摘要。

(1)报道性摘要:也常称作信息性摘要或资料性摘要,其特点是全面、简要地概括论文的目的、方法、主要数据和结论。通常,这种摘要可以部分地取代阅读全文。

(2)指示性摘要:也常称为说明性摘要、描述性摘要或论点摘要,一般只用二三句话概括论文的主题,而不涉及论据和结论,多用于综述、会议报告等。该类摘要可用于帮助潜在的`读者来决定是否需要阅读全文。

(3)报道—指示性摘要:以报道性摘要的形式表述一次文献中的信息价值较高的部分,以指示性摘要的形式表述其余部分。

三、论文摘要的写法

目前,我国期刊上发表的论文,多采用报道性摘要。即包括论文的目的、方法、结果和结论等四部分内容。而毕业论文的摘要的写法多是采用指示性摘要的写法,即概括文章的主题和主要内容。在指示性摘要的写作过程中,作者首先应该对论文的写作背景做简单介绍,然后应该对文章的主要内容进行简单的介绍,主要是对文章的提纲做简要的介绍,最后要对文章的研究意义进行介绍。

四、论文摘要写作的注意事项

(1)摘要中应排除本学科领域已成为常识的内容;切忌把应在引言中出现的内容写入摘要;一般也不要对论文内容作诠释和评论(尤其是自我评价)。

(2)不得简单重复题名中已有的信息。比如一篇文章的题名是《几种中国兰种子试管培养根状茎发生的研究》,摘要的开头就不要再写:“为了……对几种中国兰种子试管培养根状茎的发生进行了研究”。

(3)结构严谨,表达简明,语义确切。摘要先写什么,后写什么,要按逻辑顺序来安排。句子之间要上下连贯,互相呼应。摘要慎用长句,句型应力求简单。每句话要表意明白,无空泛、笼统、含混之词,但摘要毕竟是一篇完整的短文,电报式的写法亦不足取。摘要不分段。

(4)用第三人称。建议采用“对……进行了研究”、“报告了……现状”、“进行了……调查”等记述方法标明一次文献的性质和文献主题,不必使用“本文”、“作者”等作为主语。

(5)要使用规范化的名词术语,不用非公知公用的符号和术语。新术语或尚无合适汉文术语的,可用原文或译出后加括号注明原文。

(6)除了实在无法变通以外,一般不用数学公式和化学结构式,不出现插图、表格。

(7)不用引文,除非该文献证实或否定了他人已出版的著作。

(8)缩略语、略称、代号,除了相邻专业的读者也能清楚理解的以外,在首次出现时必须加以说明。科技论文写作时应注意的其他事项,如采用法定计量单位、正确使用语言文字和标点符号等,也同样适用于摘要的编写。目前摘要编写中的主要问题有:要素不全,或缺目的,或缺方法;出现引文,无独立性与自明性;繁简失当。

一、毕业论文(设计)的装订顺序依次为封面、诚信承诺书、目录、中文摘要与中文关键词、英文摘要与英文关键词、正文、注释(可选)、参考文献、致谢。二、毕业论文(设计说明书)编写要求1、封面(采用学校统一印制的封面纸)具体内容包括:题目名称、系别、专业名称、班级、学生姓名、学号、指导教师和论文完成时间等。题目名称应简短、明确、有概括性,必要时可加副标题。字数一般不宜超过20个汉字。(注意封面题目与论文正文的题目要一致)2、诚信承诺书诚信承诺书要单独一页,背面空白。3、目录目录按毕业论文(设计说明书)顺序分三级层次编写,要标明页数,以便阅读。目录中的标题应与正文中的标题一致。4、摘要摘要是毕业论文(设计说明书)内容的简短陈述,应以简要文字介绍研究课题的目的、方法、主要内容及主要结果或结论,字数约为300~500字。摘要前以“[摘要]”作为标识。5、关键词关键词是反映毕业论文(设计说明书)最主要内容的词语或术语。关键词数量一般为3~5个。关键词前以“[关键词]”作为标识,关键词之间用“;”分隔。(中文标题、摘要、关键词与英文标题、摘要、关键词各占一页,详见《论文格式》)6、引言或前言等可选内容,笔者认为有必要可写则写,不写亦可。7、正文正文应充分阐明毕业论文(设计说明书)的观点、原理、方法等。正文应分层深入,逐层剖析,并按层设分层标题并编号。标题序次结构采用下列形式:(1)经济管理类毕业论文用:一、 (一) 1. (1) ①…… 依此类推(2)理工设计类毕业设计和外语类毕业论文用:1 …… 依此类推注释主要对文中某一特定内容作必要的解释或说明,可夹在文内(加圆括号),也可排在页末或篇末。序号用带圆圈的阿拉伯数字表示。正文中引述他人的观点、统计数据或计算公式应注明出处,并尽量在句末右上角标注参考文献的编号。毕业论文(设计说明书)中的表格应统一编序(如:表4),也可以逐章单独编序(如:表2—3)。表格编序必须连续,不得重复或跳跃。表格的结构应简洁。各栏都应标注量和相应的单位。表格内数字须上下对齐,相邻栏内的数值相同时,不能用“同上”、“同左”和其它类似用词,应一一重新标注。表的标题和序号置于表格上方中间位置。插图应连续编序(如:图5),也可以逐章单独编序(如:图3—8),图的序号必须连续,不得重复或跳跃。图的标题和序号置于图下方中间位置。标点符号应符合GB/T15834-1995《标点符号用法》的规定。量的单位应符合国务院《关于我国统一实行法定计量单位的命令》等文件的规定。毕业论文(设计说明书)中测量、统计的数据一律用阿拉伯数字。公历的年、月、日一律用阿拉伯数字,如:2009年4月5日,农历的年、月、日一律用汉字,如:二〇〇九年四月十七日。经济管理类论文正文字数原则上不少于6000字,外语专业用外文撰写的毕业论文正文字数不少于3000字。8、参考文献参考文献反映了毕业论文(设计说明书)的参考材料来源。引用文献必须在文中引用处体现出来,并按顺序编号。所列参考文献资料来源不得少于6项。常用参考文献的书写格式如下:⑴期刊:[序号]作者.题名[J].期刊名称,出版年份,卷号(期号):起止页码.⑵书籍:[序号]著者.书名[M].版次(第一版应省略).出版地:出版者,出版年份:起止页码.⑶论文集:[序号]著者.题名[C].编者.论文集名.出版地:出版者,出版年份:起止页码.⑷学位论文:[序号]作者.题名[D].保存地.保存单位,年份.⑸专利文献:[序号]专利所有者.专利题名[P].专利国别:专利号,发布日期.⑹国际、国家标准:[序号]标准代号,标准名称[S].出版地:出版者,出版年份.⑺报纸文章:[序号]作者.题名[N].报纸名,出版日期及期号(版次).⑻电子文献:[序号]作者.电子文献题名[EB/OL].电子文献的出版或可获得地址,发表或更新日期/引用日期(任选).9、致谢主要对在完成毕业论文(设计)过程中给予帮助较大的指导老师、领导、同学等表示谢意,字数一般不超过500字。三、毕业论文(设计说明书)的排版格式要求1、排版要求为:页面统一采用A4纸,页边距为左,上、下、右均为2cm。毕业论文在左侧装订。2、“目录”二字用小二号黑体,字间空一个汉字,居中;目录内容采用小四号宋体,倍行距,下空一行为各层次标题及其开始页码,页码放在行末,目录内容和页码之间用虚线或点连接。往下另起一页接 “题目”及“摘要”。3、论文题目为二号黑体字,居中。论文题目下空一行打印摘要,“摘要”二字为小四号黑体,居左排列,摘要内容为小四号宋体倍行距。摘要内容下空一行打印关键词,“关键词”为小四号黑体,其后具体关键词采用小四号宋体,各关键词间用“;”分隔,结束不用标点符号。中文的“摘要”、“关键词”内容与英文的“摘要”、“关键词”内容要单独分页打印装订。4、标题:第一层次标题以小二号黑体,居中打印,标题下空一行;第二层次标题,以小四号黑体居左空两个汉字字符排列;第三层次标题,以小四号黑体居左空两个汉字字符排列等。5、正文:采用小四号宋字体、行间距为倍行距,页码设置为页脚1厘米,居中排列。6、图、表的题名为小四号宋字体。7、“注释”小三号黑体,居中排列,字间空一个汉字字符。“注释”各项内容用小四号仿宋字体,倍行距。注释排在正文篇末空两行。8、“参考文献”用小三号黑体,居中排列。参考文献各项内容用小四号仿宋字体,倍行距。“参考文献”要单独一页排版。9、致谢“致谢” 小三号黑体,居中排列,字间空一个汉字字符。致谢内容要单独一页排版。四、打印要求所有材料要求单面打印。

相关百科
热门百科
首页
发表服务