当前位置:  编程技术>软件工程/软件设计
本页文章导读:
    ▪Java NIO框架Netty1简单发送接受      1,Server端: package com.netty1; import org.jboss.netty.bootstrap.ServerBootstrap; import org.jboss.netty.channel.ChannelFactory; import org.jboss.netty.channel.ChannelPipeline; import org.jboss.netty.channel.ChannelPipelineFactory; .........
    ▪漫画研发之八:会吃的孩子有奶吃                          作者:sztiger168 发表于2013-7-3 7:49:05 原文链接 阅读:0 评论:0 查看评论 ......
    ▪比较ASP和ASP.NET               通过对北大青鸟的前两集视频的学习,对asp.net有了初步的认识,下面介绍什么是asp.net 并将asp.net和asp进行比较,同对对比来学习        &.........

[1]Java NIO框架Netty1简单发送接受
    来源: 互联网  发布时间: 2013-11-19

1,Server端:

package com.netty1;

import org.jboss.netty.bootstrap.ServerBootstrap;    
import org.jboss.netty.channel.ChannelFactory;    
import org.jboss.netty.channel.ChannelPipeline;    
import org.jboss.netty.channel.ChannelPipelineFactory;    
import org.jboss.netty.channel.Channels;    
import org.jboss.netty.channel.socket.nio.NioServerSocketChannelFactory;    
import org.jboss.netty.handler.codec.string.StringDecoder;    
import org.jboss.netty.handler.codec.string.StringEncoder;    
    
import java.net.InetSocketAddress;    
import java.util.concurrent.Executors;    
     
public class Server {    
    public static void main(String[] args) throws Exception {    
        ChannelFactory factory = new NioServerSocketChannelFactory(    
            Executors.newCachedThreadPool(),    
            Executors.newCachedThreadPool());    
        ServerBootstrap bootstrap = new ServerBootstrap (factory);    
        bootstrap.setPipelineFactory(new ChannelPipelineFactory() {    
            public ChannelPipeline getPipeline() {    
                 ChannelPipeline p = Channels.pipeline();    
                p.addLast("encode",new StringEncoder());    
                p.addLast("decode",new StringDecoder());    
                p.addLast("handler",new ServerHandler());    
                return p;    
            }    
        });    
        bootstrap.setOption("child.tcpNoDelay", true);    
        bootstrap.setOption("child.keepAlive", true); 
        //--服务端监听端口号; 
        bootstrap.bind(new InetSocketAddress(14000));  
    }    
}    

2.ServerHandler

package com.netty1;

import org.jboss.netty.channel.*;    
      
public class ServerHandler extends SimpleChannelUpstreamHandler  {    
    @Override    
    public void messageReceived(ChannelHandlerContext ctx, MessageEvent e) { 
    	//接受消息处理
       System.out.println("服务器接受到1:"+e.getMessage());    
    }    
     
   @Override    
    public void channelConnected(ChannelHandlerContext ctx, ChannelStateEvent e) {    
	   e.getChannel().write("Reply----");    
    }  
    @Override   
    public void exceptionCaught(ChannelHandlerContext ctx, ExceptionEvent e) {   
    e.getCause().printStackTrace();   
    Channel ch = e.getChannel();   
    ch.close();   
    }   
}  

3,Client端

package com.netty1;

import org.jboss.netty.bootstrap.ClientBootstrap;    
import org.jboss.netty.channel.ChannelFactory;    
import org.jboss.netty.channel.ChannelPipeline;    
import org.jboss.netty.channel.ChannelPipelineFactory;    
import org.jboss.netty.channel.Channels;    
import org.jboss.netty.channel.socket.nio.NioClientSocketChannelFactory;    
import org.jboss.netty.handler.codec.string.StringDecoder;    
import org.jboss.netty.handler.codec.string.StringEncoder;    
    
import java.net.InetSocketAddress;    
import java.util.concurrent.Executors;    
     
public class Client {    
    public static void main(String[] args) throws Exception {    
            
        ChannelFactory factory = new NioClientSocketChannelFactory(    
            Executors.newCachedThreadPool(),    
            Executors.newCachedThreadPool());    
        ClientBootstrap bootstrap = new ClientBootstrap(factory);    
        bootstrap.setPipelineFactory(new ChannelPipelineFactory() {    
            public ChannelPipeline getPipeline() {    
                ChannelPipeline p = Channels.pipeline();    
                p.addLast("encode",new StringEncoder());    
                p.addLast("decode",new StringDecoder());    
                p.addLast("handler",new ClientHandler());    
                return p;    
            }    
        });    
        bootstrap.setOption("tcpNoDelay" , true);    
        bootstrap.setOption("keepAlive", true);    
        bootstrap.connect (new InetSocketAddress("127.0.0.1", 14000));    
    }    
}    

4,ClientHandler

package com.netty1;

import org.jboss.netty.channel.*;    
    
    
public class ClientHandler extends SimpleChannelUpstreamHandler  {    
	@Override    
    public void channelConnected(ChannelHandlerContext ctx, ChannelStateEvent e) {    
		e.getChannel().write("request");    
    }    
    
    @Override    
    public void messageReceived(ChannelHandlerContext ctx, MessageEvent e) {    
        System.out.println("服务器回复:" + e.getMessage());  
        e.getChannel().close();    
    }    
        
    @Override    
    public void exceptionCaught(ChannelHandlerContext ctx, ExceptionEvent e) {    
        e.getCause().printStackTrace();    
        e.getChannel().close();    
    }    
}    

简单的客户端,服务端代码算是搞定了,运行!!!

作者:luyee2010 发表于2013-7-2 19:22:14 原文链接
阅读:0 评论:0 查看评论

    
[2]漫画研发之八:会吃的孩子有奶吃
    来源: 互联网  发布时间: 2013-11-19

    

    

    

    


作者:sztiger168 发表于2013-7-3 7:49:05 原文链接
阅读:0 评论:0 查看评论

    
[3]比较ASP和ASP.NET
    来源: 互联网  发布时间: 2013-11-19

 

       通过对北大青鸟的前两集视频的学习,对asp.net有了初步的认识,下面介绍什么是asp.net 并将asp.net和asp进行比较,同对对比来学习

 

       ASP 是一项微软公司的技术,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术。 指 Active Server Pages(动态服务器页面),运行于 IIS 之中的程序 。而脚本(script)是使用一种特定的描述性语言,依据一定的格式编写的可执行文件,又称作宏或批处理文件。可执行文件 (executable file) 是可移植可执行 (PE) 文件格式的文件,它可以加载到内存中,并由操作系统加载程序执行。它可以是 .exe文件 .sys文件 .com文件等

ASP.net的优点:

  • 支持强类型语言,如C#、VB
  • 编译页可改进执行速度
  • 提供声明性服务器控件
  • ASP代码与HTML设计和文本分离
  • 内置方法Trace可以帮助调试页
  • 通过继承机制支持代码的重用
  • 无需注册组件
             

ASP的缺点:

 

  • 仅两种非类型语言:VBScript和JavaScript。
  • ASP页需要解释
  • 代码、HTML和文本的混合
  • 使用同一文件
  • 额外的功能代码
  • 代码不能重用。
  • 没有调试机制
  • 先关闭Web服务器才能安装新版本的DLL

 

区别

  • 开发语言不同

        ASP:局限于使用non-type脚本语言来开发,用户给WEB页中添加ASP代码的方法与客户端脚本中添加代码的方法相同,导致代码杂乱。

        ASP.net:允许用户选择并使用功能完善的strongly-type编程语言,也允许使用潜加巨大的.NET Framework。

 

  • 运行机制不同

        ASP:解释运行的编程框架,所以执行效率加较低。

        ASP.net:编译性的编程框架,运行是服务器上的编译好的公共语言运行时库代码,可以利用早期绑定,实施编译来提高效率。

   

  • 开发方式不同

        ASP :界面设计和程序设计混在一起,维护和重用困难。

        ASP.net:界面设计和程序设计以不同的文件分离开,复用性和维护性得到了提高。

 

       通过上面的对比,发现ASP.net比ASP进步了很多,值得大家学习.

作者:cjr15233661143 发表于2013-7-3 8:42:57 原文链接
阅读:16 评论:0 查看评论

    
最新技术文章:
▪主-主数据库系统架构    ▪java.lang.UnsupportedClassVersionError: Bad version number i...    ▪eclipse项目出现红色叉叉解决方案
▪Play!framework 项目部署到Tomcat    ▪dedecms如何做中英文网站?    ▪Spring Batch Framework– introduction chapter(上)
▪第三章 AOP 基于@AspectJ的AOP    ▪基于插件的服务集成方式    ▪Online Coding开发模式 (通过在线配置实现一个表...
▪观察者模式(Observer)    ▪工厂模式 - 程序实现(java)    ▪几种web并行化编程实现
▪机器学习理论与实战(二)决策树    ▪Hibernate(四)——全面解析一对多关联映射    ▪我所理解的设计模式(C++实现)——解释器模...
▪利用规则引擎打造轻量级的面向服务编程模式...    ▪google blink的设计计划: Out-of-Progress iframes    ▪FS SIP呼叫的消息线程和状态机线程
▪XML FREESWITCH APPLICATION 实现    ▪Drupal 实战    ▪Blink: Chromium的新渲染引擎
▪(十四)桥接模式详解(都市异能版)    ▪你不知道的Eclipse用法:使用Allocation tracker跟...    ▪Linux内核-进程
▪你不知道的Eclipse用法:使用Metrics 测量复杂度    ▪IT行业为什么没有进度    ▪Exchange Server 2010/2013三种不同的故障转移
▪第二章 IoC Spring自动扫描和管理Bean    ▪CMMI简介    ▪目标检测(Object Detection)原理与实现(六)
▪值班总结(1)——探讨sql语句的执行机制    ▪第二章 IoC Annotation注入    ▪CentOS 6.4下安装Vagrant
▪Java NIO框架Netty1简单发送接受    ▪漫画研发之八:会吃的孩子有奶吃    ▪比较ASP和ASP.NET
▪SPRING中的CONTEXTLOADERLISTENER    ▪在Nginx下对网站进行密码保护    ▪Hibernate从入门到精通(五)一对一单向关联映...
▪.NET领域驱动设计—初尝(三:穿过迷雾走向光...    ▪linux下的块设备驱动(一)    ▪Modem项目工作总结
▪工作流--JBPM简介及开发环境搭建    ▪工作流--JBPM核心服务及表结构    ▪Eclipse:使用JDepend 进行依赖项检查
▪windows下用putty上传文件到远程Linux方法    ▪iBatis和Hibernate的5点区别    ▪基于学习的Indexing算法
▪设计模式11---设计模式之中介者模式(Mediator...    ▪带你走进EJB--JMS编程模型    ▪从抽象谈起(二):观察者模式与回调
▪设计模式09---设计模式之生成器模式(Builder)也...    ▪svn_resin_持续优化中    ▪Bitmap recycle方法与制作Bitmap的内存缓存
▪Hibernate从入门到精通(四)基本映射    ▪设计模式10---设计模式之原型模式(Prototype)    ▪Dreamer 3.0 支持json、xml、文件上传
▪Eclipse:使用PMD预先检测错误    ▪Jspx.net Framework 5.1 发布    ▪从抽象谈起(一):工厂模式与策略模式
▪Eclipse:使用CheckStyle实施编码标准    ▪【论文阅读】《Chain Replication for Supporting High T...    ▪Struts2 Path_路径问题
▪spring 配置文件详解    ▪Struts2第一个工程helloStruts极其基本配置    ▪Python学习入门基础教程(learning Python)--2 Python简...
▪maven springmvc环境配置    ▪基于SCRUM的金融软件开发项目    ▪software quality assurance 常见问题收录
▪Redis集群明细文档    ▪Dreamer 框架 比Struts2 更加灵活    ▪Maven POM入门
▪git 分支篇-----不断更新中    ▪Oracle非主键自增长    ▪php设计模式——UML类图
▪Matlab,Visio等生成的图片的字体嵌入问题解决...    ▪用Darwin和live555实现的直播框架    ▪学习ORM框架—hibernate(二):由hibernate接口谈...
▪(十)装饰器模式详解(与IO不解的情缘)    ▪无锁编程:最简单例子    ▪【虚拟化实战】网络设计之四Teaming
▪OSGi:生命周期层    ▪Javascript/Jquery——简单定时器    ▪java代码 发送GET、POST请求
▪Entity Framework底层操作封装(3)    ▪HttpClient 发送GET、POST请求    ▪使用spring框架,应用启动时,加载数据
▪Linux下Apache网站目录读写权限的设置    ▪单键模式的C++描述    ▪学习ORM框架—hibernate(一):初识hibernate
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3