欢迎来到天天文库
浏览记录
ID:3671666
大小:155.50 KB
页数:14页
时间:2017-11-22
《优秀课设——基于udp的服务器程序》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、长沙理工大学课程设计书学院计算机学院专业计算机科学与技术班级2008级1班题目基于UDP的服务器程序教师鲜乾坤学生赵国章刘毅蒋玉东目录1.课程设计摘要…………………………………………………2.课程设计关键字………………………………………………3.课程设计目的…………………………………………………4.课程设计方法…………………………………………………5.课程设计分析…………………………………………………6.课程设计流程图…………………………………………………..7.课程设计源代码…………………………………………………...8.课程设计结果及分析………………………………
2、……………...9.课程设计总结…………………………………………………….一.课程设计摘要计算机网络是分布在不同地理位置的多台独立计算机系统的集合,其目的是共享计算机资源。计算机网络环境中进程间的通信采用客户机/服务器模式。IP地址是网络层的地址,而端口是传输层的地 一开始以为是引导文件出了问题,结果在WINPE下查看了也没什么事,后来实在没办法了,百度了一晚上,终于找到个除了重装系统以外的不是办法的办法:在windows下有个repair文件夹,下边有system文件,复制到提示缺少文件的那就成了,系统成功启动;惨的是注册表里的信息全没了,不过桌面上所有东西都还在
3、,而且需要重装网卡跟声卡驱动!呵呵!没办法!重装驱动以及SQL等一类软件! 接着就是SQL大爷出问题了,刚装上还好好的,过了两天,今天我打开SQL05想附加个数据库吧,就连不上了!二.课程设计关键字服务器、IP地址、端口号、UDP服务三.课程设计目的UDP服务器首先进行初始化操作:调用函数socket创建一个数据报类型的套接字,函数bind将这个套接字与服务器的公认地址绑定在一起。然后调用函数recvfrom接收UDP客户机的数据报。UDP客户机首先调用函数socket创建一个数据报套接字,然后调用函数sendto向服务器发送数据报。在结束通信后,客户机调用c
4、lose关闭UDP套接字,服务器继续使用这个UDP套接字接收其它客户机的数据报。设计报告:要求层次清楚,整洁,规范,不得相互抄袭。四.课程设计方法编制程序发现已开启的TCP服务。程序的具体要求如下:(1)运行命令行:ScanUsePortserverIP其中,ScanUsePort是程序名;serverIP是服务器的IP地址。(2)输出服务器正在使用的TCP端口号。五.课程设计分析TCP(传输控制协议)和UDP(用户数据报协议是网络体系结构TCP/IP模型中传输层一层中的两个不同的通信协议。TCP:传输控制协议,一种面向连接的协议,给用户进程提供可靠的全双工的字节流
5、,TCP套接口是字节流套接口(streamsocket)的一种。UDP:用户数据报协议。UDP是一种无连接协议。UDP套接口是数据报套接口(datagramsocket)的一种。3)随机延迟后重发。在检测到冲突、停止发送后,结点进行随机延迟后重发。若发16次后还没成功,则宣告发送失败,取消该帧的发送。随机延迟的计算方法一般采用截止二进制指数退避算法。●创建原始套接字SOCKETsock=socket(AF_INET,SOCK_STREAM,0);●待扫描的服务器IPSockaddr_inseverAddr;//套接字地址变量severAddr.sin_family=
6、AF_INET;severAddr.sin_port=hotons(Port);//端口地址赋值serverAddr.sin_addr_S_un.S_adddr=severIP;//IP地址●判断此端口是否打开structtimevaltimeout;//超时时间timeout.tv_sec=100/1000;timeout.tv_usec=0;connect(sock,(sockaddr*)&severAddr,sizeof(severAddr));//连接服务器if(select(0,NULL,&write,NULL,&timeout)>0)六.课程设计流程图否
7、iRecv=recvfrom()调用失败输出调用失败开始确定端口号输出服务器WSAStartupsListen=SocketBind()是是是否否否否1isend=sendto()!=0调用成功Closesocket(saccept)Closesocket(saccept)结束==0!=0输出接收到的数据、IP地址、端口号==0开始输入参数正确?搜索端口结束?线程数目太多?创建新线程搜索端口端口+1还有线程未完成?解除线程与socket库绑定结束休眠休眠启动Ws_32.dll上图为图1——1,是主程序流程图,下图是图1——2,是主程序使用的线程流程图。线程开始创
此文档下载收益归作者所有