org.nutz.lang.socket
类 Sockets

java.lang.Object
  继承者 org.nutz.lang.socket.Sockets

public abstract class Sockets
extends java.lang.Object


构造方法摘要
Sockets()
           
 
方法摘要
static void close()
          这个函数可以在你的 SocketAction 实现类里被调用,用来关闭当前的监听星闻
static java.util.Map<java.lang.String,SocketAction> createActions()
          快捷创建动作映射表的方法
static SocketAction doClose()
          创建一个停止监听的动作对象
static void localListen(int port, java.util.Map<java.lang.String,SocketAction> actions, java.util.concurrent.ExecutorService service, java.lang.Class<? extends SocketAtom> klass)
          监听本地某一个端口,根据用户输入的命令的不同,执行不同的操作 当然,你如果想让一个过程处理多种命令,请给的 key 前用 "REGEX:" 作为前缀,后面用一个正则表达式 来表示你的你要的匹配的命令
"REGEX:!"
static void localListenByLine(int port, java.util.Map<java.lang.String,SocketAction> actions)
          简化了一个参数,采用默认线程数
static void localListenByLine(int port, java.util.Map<java.lang.String,SocketAction> actions, java.util.concurrent.ExecutorService service)
          监听本地某一个端口,根据用户输入的命令的不同,执行不同的操作 当然,你如果想让一个过程处理多种命令,请给的 key 前用 "REGEX:" 作为前缀,后面用一个正则表达式 来表示你的你要的匹配的命令
"REGEX:!"
static void localListenByLine(int port, java.util.Map<java.lang.String,SocketAction> actions, int poolSize)
          监听本地某一个端口,根据用户输入的命令的不同,执行不同的操作 当然,你如果想让一个过程处理多种命令,请给的 key 前用 "REGEX:" 作为前缀,后面用一个正则表达式 来表示你的你要的匹配的命令
"REGEX:!"
static void localListenOne(int port, java.lang.String line, SocketAction action)
          监听本地某一个端口,仅仅收到某一个特殊命令时,才会开始一个动作。
static void localListenOneAndStop(int port, java.lang.String line, SocketAction action)
          监听本地某一个端口,仅仅收到某一个特殊命令时,才会开始一个动作。
static java.net.Socket safeClose(java.net.Socket socket)
          安全关闭套接层,容忍 null
static void send(java.lang.String host, int port, java.io.InputStream ins, java.io.OutputStream ops)
          向某主机发送一些字节内容,并将返回写入输出流
static java.lang.String sendText(java.lang.String host, int port, java.lang.String text)
          向某主机发送一段文本,并将主机的返回作为文本返回
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

Sockets

public Sockets()
方法详细信息

send

public static void send(java.lang.String host,
                        int port,
                        java.io.InputStream ins,
                        java.io.OutputStream ops)
向某主机发送一些字节内容,并将返回写入输出流

参数:
host - 主机
port - 端口
ins - 发送的内容
ops - 主机返回的输入流

sendText

public static java.lang.String sendText(java.lang.String host,
                                        int port,
                                        java.lang.String text)
向某主机发送一段文本,并将主机的返回作为文本返回

参数:
host - 主机
port - 端口
text - 发送的内容
返回:
主机返回的文本

localListenOneAndStop

public static void localListenOneAndStop(int port,
                                         java.lang.String line,
                                         SocketAction action)
监听本地某一个端口,仅仅收到某一个特殊命令时,才会开始一个动作。

并且原生的,它支持输入 "close|stop|bye|exit" 来结束本地监听

参数:
port - 要监听的端口
line - 命令名称
action - 动作执行类

localListenOne

public static void localListenOne(int port,
                                  java.lang.String line,
                                  SocketAction action)
监听本地某一个端口,仅仅收到某一个特殊命令时,才会开始一个动作。

参数:
port - 要监听的端口
line - 命令名称
action - 动作执行类

localListenByLine

public static void localListenByLine(int port,
                                     java.util.Map<java.lang.String,SocketAction> actions)
简化了一个参数,采用默认线程数

另请参见:
localListenByLine(int, Map, int)

localListenByLine

public static void localListenByLine(int port,
                                     java.util.Map<java.lang.String,SocketAction> actions,
                                     int poolSize)
监听本地某一个端口,根据用户输入的命令的不同,执行不同的操作

当然,你如果想让一个过程处理多种命令,请给的 key 前用 "REGEX:" 作为前缀,后面用一个正则表达式 来表示你的你要的匹配的命令
"REGEX:!" 开头的,表示后面的正则表达式是一个命令过滤,所有没有匹配上的命令都会被处理

参数:
port - 要监听的端口
actions - 动作执行类映射表
poolSize - 针对一个 CPU 你打算启动几个处理线程
另请参见:
localListenByLine(int, Map, ExecutorService)

localListenByLine

public static void localListenByLine(int port,
                                     java.util.Map<java.lang.String,SocketAction> actions,
                                     java.util.concurrent.ExecutorService service)
监听本地某一个端口,根据用户输入的命令的不同,执行不同的操作

当然,你如果想让一个过程处理多种命令,请给的 key 前用 "REGEX:" 作为前缀,后面用一个正则表达式 来表示你的你要的匹配的命令
"REGEX:!" 开头的,表示后面的正则表达式是一个命令过滤,所有没有匹配上的命令都会被处理

参数:
port - 要监听的端口
actions - 动作执行类映射表
service - 线程池的实现类

localListen

public static void localListen(int port,
                               java.util.Map<java.lang.String,SocketAction> actions,
                               java.util.concurrent.ExecutorService service,
                               java.lang.Class<? extends SocketAtom> klass)
监听本地某一个端口,根据用户输入的命令的不同,执行不同的操作

当然,你如果想让一个过程处理多种命令,请给的 key 前用 "REGEX:" 作为前缀,后面用一个正则表达式 来表示你的你要的匹配的命令
"REGEX:!" 开头的,表示后面的正则表达式是一个命令过滤,所有没有匹配上的命令都会被处理

参数:
port - 要监听的端口
actions - 动作执行类映射表
service - 线程池的实现类

safeClose

public static java.net.Socket safeClose(java.net.Socket socket)
安全关闭套接层,容忍 null

参数:
socket - 套接层
返回:
一定会返回 null

doClose

public static SocketAction doClose()
创建一个停止监听的动作对象

返回:
动作对象

close

public static void close()
这个函数可以在你的 SocketAction 实现类里被调用,用来关闭当前的监听星闻


createActions

public static java.util.Map<java.lang.String,SocketAction> createActions()
快捷创建动作映射表的方法

返回:
动作映射表