MINA学习汇总Apache Mina Server
是一个网络通信应用框架,用于开发高性能和高可用性的网络应用程序。它主要是对基于TCP/IP、UDP/IP协议栈的通信框架(然,也可以提供JAVA
对象的序列化服务、虚拟机管道通信服务等),Mina 提供了事件驱动、异步(Mina 的异步IO 默认...
分类:
其他好文 时间:
2014-05-29 16:56:37
阅读次数:
334
demo 一个连接由它的两个端点标识,这样的端点称为套接
套接字是支持TCP/IP协议的网络通信的基本操作单元。 可以将套接字看作不同主机间的进程进行双向通信的端点。 上图连接1的一对套接字为:
(192.168.2.23,5000)和(192.168.2.122,8888) 上图...
分类:
其他好文 时间:
2014-05-29 09:06:40
阅读次数:
393
流(stream)是对串行传输的数据(以字节为单位)的一种抽象表示,底层的设备可以是文件、外部设备、主存、网络套接字等。 流提供三种基本操作:
写入:将数据从内存缓冲区传输到外部源。 读取:将数据从外部源传输到内存缓冲区。 查找:重新设置流的当前位置,以便随机读写。需要注意的...
分类:
其他好文 时间:
2014-05-27 18:06:07
阅读次数:
389
上一篇博文可以实现基本的网络通信,但是只能服务给一个人,我们可以通过给每个客户端fork()一个子进程,来实现一对多的服务。
方法:
客户端连到服务器以后,服务器启动一个新创建的套接字对话,也就是说父进程可以继续连接下一个客户端,而子进程来需要处理
accept()创建的副套接字,实现通信功能。父进程克隆子进程后可以关闭副套接字close(connect_d),而子进程可以关闭主监听套...
分类:
其他好文 时间:
2014-05-26 05:02:14
阅读次数:
228
ls
-l:长格式
文件类型:
-:普通文件 (f)
d: 目录文件
b: 块设备文件 (block)
c: 字符设备文件 (character)
l: 符号链接文件(symbolic link file)
p: 命令管道文件(pipe)
s: 套接字文件(socket)
文件权限:9位,每3位一组,每一组:rwx(读,写,执行), r--
文件硬链接的次数
文件的属主(o...
分类:
其他好文 时间:
2014-05-25 01:55:01
阅读次数:
262
服务器连接网络四部曲。
为了与外界沟通,c程序用数据流读写字节,比较常用的数据流有标准输入、标准输出、文件等。
如果想写一个与网络通信的程序,就需要一种新的数据流----------套接字。
使用套接字与客户端程序通信前,服务器需要历经四个阶段:绑定、监听、接受、开始。
1.绑定端口
计算机可能同时运行多个服务器程序,为了放置不同的对话混淆,每项服务必须使用不...
分类:
其他好文 时间:
2014-05-25 01:01:09
阅读次数:
317
一、入门篇
Java RMI指的是远程方法调用(Remote Method Invocation). 它是一种机制, 能够让不同操作系统之间程序实现方法调用.
比如: 一个EJB可以通过RMI调用web上另一台机器上的EJB远程方法(EJB底层就是使用RMI).
二、RMI和webservice
RMI是在TCP协议上传递可序列化的Java对象, 只能...
分类:
编程语言 时间:
2014-05-25 00:33:36
阅读次数:
340
编写一个简易的HTTP代理服务器,步骤其实很简单:
1.设置一个监听套接字gListen_Socket;
2.每当接受到客户端的请求之后,我们构建一个新的线程来继续监听客户端的请求,然后原线程处理用户请求;
3.先从用户发送的HTTP请求中解析出服务器端的主机地址,然后通过另外一个线程连接到服务器;
4.本程序充当中介,不断转发来自两端的消息;...
分类:
其他好文 时间:
2014-05-24 23:43:47
阅读次数:
534
访问者模式定义:表示一个作用于某对象结构中的各个元素的操作,它使你可以在不改变各元素类的前提下定义作用于这些元素的新操作。
从定义上看,这个模式跟装饰模式的定义很相似(动态地给一个对象添加一些额外的职责),但是装饰模式更多是在原有的基础上进行功能加强或者修改;而访问者模式更多是为对象添加全新的功能。
这个模式中用到了二次分发技术,跟tcp协议的三次握手有些类似,首先请求拿到对方的控制权,对方进行接受,然后开始使用控制权
访问者模式本质:预留通路,回调实现
优点:扩展性好,复用性好,分离无关行为
缺点:对象结...
分类:
其他好文 时间:
2014-05-24 22:07:00
阅读次数:
227
/**10、使用TCP协议完成一个客户端一个服务器。客户端从键盘输入读取一个字符串,发送到服务器。
服务器接收客户端发送的字符串,反转之后发回客户端。客户端接收并打印。
*
客户端*/
import java.io.*;
import java.net.*;
public
class Test10_Client {
public
static void ma...
分类:
其他好文 时间:
2014-05-24 21:45:28
阅读次数:
652