`
wuhua
  • 浏览: 2105885 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

SocketConnection 参数详细介绍

    博客分类:
  • J2ME
阅读更多

请大家看下面的代码: 
len = is.read(gData); 
这句代码会阻塞在这里,用了上面红色标出的代码后,能不能实现,超过5秒没反应后,read就不阻塞,而向下执行代码!  
try 

int len = 0; 
    sc = (SocketConnection) Connector.open("socket://100.42.25.3:885"); 
    is = sc.openInputStream(); 
    os = sc.openOutputStream(); 
    sc.setSocketOption(SocketConnection.LINGER, 5); 
    pmm.gDataBuf = null; 
    sender = new Sender(os); 
    sender.send(pmm.gStringReq); 
    // Loop forever, receiving data 
    gData = new byte[pmm.BUF_LENGTH]; 
    currentIndex = 0; 
    gBuf = new byte[50*1024]; 
    while (!pmm.bStopConnect) 
    { 
len = is.read(gData); 
    System.arraycopy(gData,0,gBuf,currentIndex,len); 
    currentIndex += len; 
    if(currentIndex > 300){ 
    if(newVerifyXml()){ 
    if((currentIndex%8) != 0){ 
    int left = 8 - currentIndex%8; 
    byte[] byteTmp = new byte[left]; 
    is.read(byteTmp); 

    opHandle();currentIndex=0; 
    } 
    } 
    } 
    stop(); 
} catch (ConnectionNotFoundException cnfe) { 
    Alert a = new Alert("错误", "无法连接服务器", null, AlertType.ERROR); 
    a.setTimeout(Alert.FOREVER); 
    display.setCurrent(a) ; 
} catch (IOException ioe) { 
    if (!stop) { 
ioe.printStackTrace(); 
    } 
} catch (Exception e) { 
    e.printStackTrace(); 

实现不了吧, 你弄个timer吧。 超时就把所有object 设置为null
 
SocketConnection.DELAY:开启Nagle算法?(0/1) 
SocketConnection.LINGER:服务器悬挂等待时间 
SocketConnection.KEEPALIVE:长连接时间 
SocketConnection.RCVBUF:接收缓冲 
SocketConnection.SNDBUF:发送缓冲 

不过虚拟机上可能支持的不好,或者不保证每次都准确 
建议使用定时器 
超时就把该关流,连接的全关了 
再置null

分享到:
评论

相关推荐

    利用ScktSrvr打造多功能Socket服务器

    2. **配置服务器参数** - 通过注册表`HKEY_LOCAL_MACHINE\SOFTWARE\Borland\SocketServer`获取服务器配置信息。 - 设置是否只允许已注册的客户端连接(`SocketForm.RegisteredAction.Checked`)。 - 设置是否允许...

    Socket编程(实现了对客户端和服务器交互)

    首先,让我们详细了解SocketConnection。这个接口主要用于客户端的Socket连接。通过Connector.open方法,我们可以创建一个到指定服务器的Socket连接。例如,`Connector.open("socket://localhost:9999")`会建立到...

    hadoop运维经验分享

    以下是对这些运维经验的详细解读: 1. **集群规划与搭建**:Hadoop集群的规模和配置取决于业务需求。规划时需考虑硬件资源、网络拓扑以及扩展性。正确选择硬件(如磁盘类型、内存大小和CPU核心数)对性能至关重要。...

    j2me socket方式下载图片

    SocketConnection socketConnection = (SocketConnection) Connector.open("socket://" + serverAddress + ":" + port); ``` 2. **打开输入和输出流**: 下一步是获取Socket的输入流(InputStream)和输出流...

    kafka参数配置详解

    本文将详细介绍Kafka的参数配置,包括系统参数、Topic参数、ZooKeeper参数和日志参数。 系统参数 在Kafka集群中,每个 broker 节点都需要一个唯一的标识符,称为 broker.id。这个参数的值必须是一个正数。在这个...

    c socket pyton socket

    - **创建Socket**:通过调用`socket()`函数创建一个Socket,该函数需要三个参数:协议族、类型、协议。 ```c int sock = socket(AF_INET, SOCK_STREAM, 0); ``` - **绑定地址**:使用`bind()`函数将Socket与本地...

    j2me网络编程大全

    本文将详细介绍J2ME中的网络通信技术,特别是HTTP和Socket两种常用方法,并通过具体的示例代码帮助读者更好地理解和应用这些技术。 #### 二、HTTPConnection详解 HTTP (Hypertext Transfer Protocol) 是一种用于从...

    rabbitmq的接口函数说明,api参数使用说明

    **声明**:`amqp_connection_state_t amqp_new_connection(void);` 此函数用于创建一个新的RabbitMQ连接状态对象。它初始化了一个新的连接状态,并准备进行后续的连接操作。 #### 2. amqp_open_socket(获取socket)...

    python 实现的多进程 socket通讯框架,支持多进程进行发送和接收

    下面将详细介绍Python的多进程和Socket编程相关的知识。 首先,我们来了解Python的多进程编程。在Python中,`multiprocessing`模块提供了创建和管理进程的功能。它与`threading`模块类似,但进程之间拥有独立的内存...

    socket错误代码对应表

    本文将详细介绍一些常见的Socket错误代码及其含义,并给出相应的解决策略。 #### 一、基本概念与工具介绍 在Windows系统中,可以通过命令提示符下的`net helpmsg [错误代码]`来获取特定错误码的详细解释。例如,...

    HP-Socket文档

    应用程序可以根据不同的容量要求、通信规模和资源状况等现实场景调整 HP-Socket 的各项性能参数(如:工作线程的数量、缓存池的大小、发送模式和接收模式等),优化资源配置,在满足应用需求的同时不必过度浪费资源...

    模拟器下的socket入门

    函数中首先调用了`soc_init_win32()`(可能是一个模拟器的特定初始化函数),然后创建了一个Socket,由`soc_create`函数实现,参数包括协议族(`SOC_PF_INET`表示IPv4)、套接字类型(`SOC_SOCK_STREAM`表示TCP连接...

    vc++ socket

    创建Socket通常使用`socket`函数,参数指定协议族(AF_INET代表IPv4)、套接字类型(SOCK_STREAM代表TCP)和协议(IPPROTO_TCP)。 ```cpp SOCKET clientSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); if ...

    SocketError

    下面将详细介绍一些常见的 SocketError 错误代码及其含义。 #### WSAEACCES (10013): Permission denied. - **含义**:当尝试使用一个未被授权的权限访问套接字时,会出现这个错误。比如,在没有通过 `setsockopt...

    linux数据连接unixodbc

    2. 配置ODBC数据源:使用`odbcinst.ini`和`odbc.ini`文件定义数据源,包括数据库驱动、连接参数等信息。 3. 安装数据库驱动:确保安装了与目标数据库系统兼容的ODBC驱动。 4. 测试连接:使用`isql`命令行工具测试...

    tcl socket 编程实例

    - 定义了`Socket_Client`过程,接受主机地址、端口号和超时时间作为参数。 - 使用`socket-async`命令尝试异步连接指定的服务器。 - `fileevent`设置当Socket可写时触发的动作。 - 使用`vwait`等待连接成功或超时。 -...

    tomcat参数配置[借鉴].pdf

    本文将详细介绍Tomcat参数配置的方法和原理。 一、调整JVM内存位置 在Tomcat的bin目录下,有一个catalina.bat文件,该文件用于设置JVM的内存位置。通常情况下,JVM的内存位置设置为-server -Xms256m -Xmx1024m,这...

    ABB_socket通讯

    本篇将详细探讨“ABB_socket通讯”,特别是如何通过PC Interface选项进行配置,以及如何使机器人作为主服务器进行通讯。 首先,我们需要了解socket通讯的基本概念。Socket是一种网络编程接口,它允许两个或多个设备...

    JVM优化3(Tomcat参数调优,JVM参数调优,jvm字节码,代码优化).zip

    下面将详细介绍这些主题。 **1. Tomcat参数调优** Tomcat是广泛应用的Java Servlet容器,其性能直接影响到Web应用的响应速度。优化Tomcat参数主要包括以下几个方面: - **最大连接数**:`maxConnections`和`...

    C++ socket实例

    本篇文章将基于一个简单的Windows环境下C++ Socket编程实例,详细解析如何创建服务器端和客户端应用程序,并实现基本的数据收发功能。 #### 二、Socket编程基础 在深入了解示例代码之前,我们先来了解一下Socket...

Global site tag (gtag.js) - Google Analytics