当前位置:首页 » 服务器技术
开发技术指南» 文章正文
    引言: 二 实现网络聊天程序的方法与实践 2.1.实现方法: (1)用WINSOCK编程实现: Socket原来是UNIX的Berkeley Software Distributiion版本中的一个程序接口。
 

 

    摘要: 第三章 路由算法的设计 路由算法的数学模型是图论模型。如下图: 图7 网络模型 路由过程的选择,即是在加权无向图(或有向图)中寻找源结点与目标结点的最佳路径,根据最佳路径选择下一站路由器。如图7中,0结点至4结点的最佳路径是0→2→3→4,那么由0结点发往4结点的数据包在0结点时的下一站路由器是2结点,其余类推。 目前已有众多成熟的路由算法,典型如dijkstra算法,可以方便的计算某一顶点到其余各顶点的最短路径,该过程的复......
    摘要: 演化路由算法框架的流程图如下图所示: 图8 演化路由算法的框架流程图 那么,演化路由算法被定义如下:algorithm evoroutcompute.//演化路由计算begin evotime = 0; //演化代数 geneset = nil; //成熟基因集合 bestgeneset = nil; //较好基因集合 halfgeneset = nil; //基因缓冲集合 while ( evotime < max_evotime ) {......


论文110

 二  实现网络聊天程序的方法与实践

  2.1.实现方法: 【相关文章:refactoring Patterns

【扩展阅读:refactoring Patterns

   (1)用winsock编程实现: 【扩展信息:refactoring Patterns

        socket原来是unix的berkeley software distributiion版本中的一个程序接口。他类似于c的函数库。简单地说,winsock是定义于视窗应用程序与网络之间的标准界面。程序设计者发现在发展视窗的网络应用软件时,只要支持winsock界面的标准规格,就不再需要顾虑所使用的网卡硬件部分,因为winsock所提供的动态连接程序库(ws2_32.dll)会完成网络底层沟通的工作。进而使得程序设计这能设计出更多功能或更友善的网络软件。

    (2)用mfc socket编程实现:

         用winsock编程实现,使用的是windows socket api函数编程具有实用灵活的特点,但对于缺乏基本网络知识的初学者来说可能麻烦一点,鉴于此,microsoft公司特地编写了连个基本的socket类即casyncsocket与csocket类。同时为了建化接收与发送数据部分,在mfc中环体的提供了csoketetfile类(以及内置了一个csocketwnd类)。

 2.2.实现算法:

     现在最通用与流行的网络编程模式就是c/s模式,服务器是能过提供某种或某些功能的程序或进程;客户机使用互相使用服务器进程的某种或某些功能的程序或进程。在c/s模式中,应首先启动服务器进程,然后客户机通过网络访问服务器资源,以完成相应的操作。

     通常的网络通信有两种方式,这里主要是针对传输层而言,即:面向连接方式,如采用tcp协议;面向无连接方式,如udp协议 。但有时为了编程方便,在使用udp协议是采用面向连接的处理方式。

      另外针对如何处理网络请求网络程序又可分为可交互式与同步式。交互式的特点是编程简单,不容易出错,但执行效率不高;并发式相对复杂,不容易控制,但执行效率较高。对于并发的实现有很多种方式,其中主要的两种是:

        1.创建线程为客户机服务。

        2.使用事件驱动方式。在一个线程内可以通过异步i/o操作方式,当有事件发生时,就触发相应的过程来处理。     

    (1)用winsock编程算法:

        1.面向连接方式(tcp协议)

           服务器端:

            <1>首先使用wsastartup函数来初始化网络环境。

            <2>调用socket(af_inet,sock_stream,0)函数来创建一个套接字。

            <3>调用bind函数将本地地址与刚建立的套接字关联起来。

            <4>调用listen函数监听发向该套接字的连接请求。

            <5>客户端的连接请求放在连接请求队列里,服务器调用accept函数从连接请求队列             中取出第一个请求,创建一个为之服务的新的套接字,该套接字处理所有与该客户交互操作的信息。而服务器进程的监听套接字这时继续处理来自其他客户的连接请求,直到因队列空而等待新的连接请求的到来。  

            <6>调用closesocket()关闭监听套接字,释放套接字资源。

            <7>调用wsacleanup函数释放相应资源。

            客户端:

            <1>首先使用wsastartup函数来初始化网络环境。

            <2>调用socket(af_inet,sock_stream,0)函数来创建一个套接字。

            <3>调用connect函数连接远程服务器,以请求服务。

            <4>服务器相应连接请求后,此时客户端进程开始与服务器的交互操作,直到请求结束                      为止。                                                  

            <5>调用closesocket()关闭监听套接字,释放套接字资源。

            <6>调用wsacleanup函数释放相应资源。

         2.面向无连接方式(udp协议)

                      

        

 

 

 

 


...   下一页
    摘要: 看了网上一些关于权限控制的帖子,越看越迷糊,什么用aop(aspect oriented programming,面向方面编程),用容器,rbac(基于角色的访问控制方法),sso,jive的proxy模式等等等等,且又是role又是group,真是头都大了,先写个简单的实现方法,以后再研究高深的。 此方法不依赖容器 框架,适用于小系统(主要jsp页面要少于100,因为是硬编码到jsp),适用于要精确控制页面field的情况较多的系统。 (插句话:要分清......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE