- 浏览: 1397776 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (346)
- linux (10)
- hbase (50)
- hadoop (23)
- java (52)
- java multi-thread (13)
- Oracle小记 (41)
- 机器学习 (12)
- 数据结构 (10)
- hadoop hive (16)
- java io (4)
- jms (1)
- web css (1)
- kafka (19)
- xml (2)
- j2ee (1)
- spring (6)
- ibatis (2)
- mysql (3)
- ext (3)
- lucene (3)
- hadoop pig (3)
- java nio (3)
- twemproxy (1)
- antlr (2)
- maven (6)
- mina (1)
- 列数据库 (1)
- oozie (2)
- mongodb (0)
- 报错 (0)
- jetty (1)
- neo4j (1)
- zookeeper (2)
- 数据挖掘 (3)
- jvm (1)
- 数据仓库 (4)
- shell (3)
- mahout (1)
- python (9)
- yarn (3)
- storm (6)
- scala (2)
- spark (5)
- tachyon (1)
最新评论
-
guokaiwhu:
赞啊!今晚遇到相同的问题,正追根溯源,就找到了博主!
hbase 报错gc wal.FSHLog: Error while AsyncSyncer sync, request close of hlog YouAr -
喁喁不止:
很清楚,有帮助。
hive常用函数 -
dsxwjhf:
Good job !!
kafka获得最新partition offset -
Locker.Xai:
参考了
freemaker教程 -
maoweiwer:
为啥EPHEMERAL_SEQUENTIAL类型的节点并没有自 ...
zookeeper 入门讲解实例 转
java socket
代码:
package com.socketTest; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.PrintWriter; import java.net.InetAddress; import java.net.Socket; import java.net.UnknownHostException; /** * socket 长连接类 * * @author rebin * @version 1.0 * @object noka tag * @web http://www.97521.com */ public class Nksocket extends Thread { public String ip = null;// 连接服务器的IP public Integer port = null;// 连接服务器的端口 private Socket socket = null;// 套节字对象 private boolean close = false; // 关闭连接标志位,true表示关闭,false表示连接 private Integer sotimeout = 1 * 1 * 1000;// 超时时间,以毫秒为单位 // ------------------------------------------------------------------------------ public Nksocket() { init(); } public Nksocket(String ip, Integer port) { setIp(ip); setPort(port); init(); } /** * 初始化socket对象 */ public void init() { try { InetAddress address = InetAddress.getByName(getIp()); socket = new Socket(address, getPort()); socket.setKeepAlive(true);// 开启保持活动状态的套接字 socket.setSoTimeout(sotimeout);// 设置超时时间 close = !Send(socket, "2");// 发送初始数据,发送成功则表示已经连接上,发送失败表示已经断开 } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } /** * 读数据线程 */ public void run() { while (true) { // ---------读数据--------------------------- close = isServerClose(socket);// 判断是否断开 if (!close) {// 没有断开,开始读数据 String readtext = ReadText(socket); /*add dy dirk.zhang*/ WriteText(socket, "dirk.zhang写入bat数据"); if (readtext != null && readtext.trim().length() > 0) { System.out.println("读取数据:" + readtext); } } // ---------创建连接------------------------- while (close) {// 已经断开,重新建立连接 try { System.out.println("重新建立连接:" + getIp() + ":" + getPort()); InetAddress address = InetAddress.getByName(getIp()); socket = new Socket(address, getPort()); socket.setKeepAlive(true); socket.setSoTimeout(sotimeout); close = !Send(socket, "2"); System.out.println("建立连接成功:" + getIp() + ":" + getPort()); } catch (Exception se) { System.out.println("创建连接失败:" + getIp() + ":" + getPort()); close = true; } } } } /** * 发送数据,发送失败返回false,发送成功返回true * * @param csocket * @param message * @return */ public Boolean Send(Socket csocket, String message) { try { PrintWriter out = new PrintWriter(socket.getOutputStream(), true); out.println(message); return true; } catch (Exception se) { se.printStackTrace(); return false; } } /** * 读取socket中数据 * 读取数据,返回字符串类型 * @param csocket * @return */ public String ReadText(Socket csocket) { try { csocket.setSoTimeout(sotimeout); InputStream input = csocket.getInputStream(); BufferedReader in = new BufferedReader(new InputStreamReader(input)); char[] sn = new char[1000]; in.read(sn); String sc = new String(sn); return sc; } catch (IOException se) { return null; } } private Boolean WriteText(Socket csocket, String context) { DataOutputStream output = null; try{ output = new DataOutputStream(csocket.getOutputStream()); output.writeUTF(context); return true; } catch(Exception e){ return false; } finally{ if(output!=null){ try { output.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } System.out.println("finally 执行了"); } } /** * 判断是否断开连接,断开返回true,没有返回false * * @param socket * @return */ public Boolean isServerClose(Socket socket) { try { socket.sendUrgentData(0);// 发送1个字节的紧急数据,默认情况下,服务器端没有开启紧急数据处理,不影响正常通信 return false; } catch (Exception se) { return true; } } /** * 测试 * * @param ags */ public static void main(String[] ags) { Nksocket nksocket = new Nksocket("localhost", 10006); nksocket.start(); } // ------------------------------------------------------------------------------ public String getIp() { return ip; } public void setIp(String ip) { this.ip = ip; } public Integer getPort() { return port; } public void setPort(Integer port) { this.port = port; } }
发表评论
-
java内存使用查看 转
2015-10-29 14:51 868转:http://mxsfengg.iteye.com ... -
Java线上应用故障排查之二:高内存占用
2015-08-17 16:28 0搞Java开发的,经常会碰到下面两种异常: 1、java. ... -
java filechannel
2015-08-14 15:42 1053Java NIO中的FileChannel是一个连接到文件 ... -
Java线上应用故障排查之一:高CPU占用
2015-08-06 13:58 6185转http://blog.csdn.net/blade20 ... -
java注释
2015-04-10 15:49 0Java注解是附加在代码中的一些元信息,用于一些工具在编译、 ... -
转jvm
2015-03-24 14:13 1672一、回顾JVM内存分配 ... -
java 域名转换
2014-12-22 11:05 767import java.net.InetAddres ... -
freemaker教程
2014-10-13 11:56 1981新换了工作,与想象差距也太大了 最近沦落到做报表了,我就 ... -
protocal buffers入门实例
2014-09-22 21:08 1654hadoop yarn中新的系列化protocol buf ... -
正则小计
2014-09-18 20:47 0&site=(.*?)&可以匹配site的值 ... -
在HBase中应用MemStore-Local Allocation Buffers解决Full GC问题
2014-06-13 23:05 1606译者注:上个月 ... -
java ipc 实例
2014-05-21 22:59 4878java ipc实例,仿照hadoop ipc写的实例 1 ... -
java worker thread模式
2014-03-25 22:46 1977转两个帖子 一个java wo ... -
bloom filter
2014-03-09 19:41 1954看到hadoop join和hbase都有bloo ... -
java reference
2014-03-09 17:49 716转 http://www.iteye.com/to ... -
annotation实例
2014-02-11 22:04 1140加载指定目录的所有class,通过注释区分实体类 p ... -
java获取子类 转
2014-02-11 16:58 3122获取子类 package com.tools; ... -
动态代理
2013-08-14 20:38 1081动态代理,转:http://langyu.iteye. ... -
java byte inputstream and outputstream
2013-02-18 11:47 0转http://blog.csdn.net/rcoder ... -
JVM同步浅析
2013-01-11 11:38 1650堆 (所有类的实例或 ...
相关推荐
Java Socket 实例是Java网络编程中的重要组成部分,用于实现客户端与服务器之间的通信。在这个实例中,我们关注的是服务器端的多线程应用,这在处理多个并发连接时尤其有用。多线程允许服务器同时处理多个客户端请求...
最经典的java socket实例大全 最经典的java socket实例大全
这个Java Socket实例展示了基本的网络通信过程,通过学习和实践这个实例,开发者可以更好地理解和掌握Java网络编程的基本技巧。在实际应用中,Socket通信常用于实现聊天应用、文件传输、数据库连接等场景。
Java Socket 实例与 JDBC 实例详解 在 Java 编程领域,Socket 和 JDBC 是两个非常重要的概念,尤其对于初学者和中级开发者来说,理解和掌握它们是提升技能的关键步骤。Socket 提供了网络通信的基础,而 JDBC 则是 ...
在"JAVA SOCKET 编码实例"中,我们可能遇到以下关键知识点: 1. **ServerSocket创建与监听**:首先,服务器端需要创建一个ServerSocket对象,指定一个端口号,然后调用其`accept()`方法开始监听。`accept()`方法会...
在这个“Java Socket使用实例”中,我们将探讨如何创建一个简单的Java Socket应用,它包括一个服务器端和一个客户端,两者通过Socket进行数据交换,将信息显示在窗口中。 首先,让我们了解Socket的基本概念。Socket...
Java Socket 是一种网络通信机制,它...这个简单的Java Socket实例展示了如何在Java中实现客户端-服务器通信的基本框架。实际应用中,可能需要添加异常处理、多线程支持、更复杂的协议处理等功能来增强其功能和健壮性。
10. **设计模式**:在实现文件上传服务时,可以借鉴设计模式,如工厂模式用于创建数据库连接,单例模式用于保证服务器Socket实例的唯一性,观察者模式用于通知文件上传完成后的后续处理等。 以上就是使用Java ...
"Java Socket 长连接实例"是关于如何实现一个持久连接的服务器和客户端程序的示例,这种连接能够保持开放,直到一方明确地关闭它。这在需要频繁通信或者需要长时间保持连接状态的应用场景中非常有用,比如聊天应用、...
学习这些Java Socket编程实例,有助于理解TCP/IP通信的基本原理,为构建实际的网络应用程序打下坚实的基础。你可以通过调试和修改`SocketTest`代码,进一步探索和实践Socket编程的不同场景,如文件传输、聊天应用等...
一旦有客户端连接,ServerSocket会接受连接并创建一个新的Socket实例来处理这个特定的通信通道。客户端则通过Socket类建立到服务器的连接,并通过这个连接发送和接收数据。 在"SimpleChatroom"这个例子中,我们可能...
当一个客户端(使用Socket)尝试连接到该端口时,ServerSocket会创建一个新的Socket实例来处理这个连接。这被称为“三次握手”过程,是TCP连接建立的标准步骤。 视频流转发的核心在于接收来自一个源的视频数据,...
1. **创建SSLSocket实例** 首先,我们需要使用`SSLServerSocketFactory`和`SSLContext`来创建一个`SSLSocket`实例。这通常涉及到加载信任的证书、配置SSL上下文以及设置服务器和客户端的SSL参数。例如: ```java...
java socket 实现简单的客户端和服务端通信
### Java Socket编程详解及实例分析 #### 一、Socket编程基础概述 在计算机网络通信领域,Socket编程是一种广泛使用的通信方式。它为不同主机上的进程提供了双向通信的能力,是网络编程的基础之一。Java语言提供了...
在这个“Java Socket 多线程实例”中,我们将会探讨如何结合这两个关键概念来创建一个聊天服务器和客户端应用。 首先,`ChatServer.java` 文件通常包含了服务器端的代码。在Java中,通过`java.net.ServerSocket` 类...
通过实践这些Java Socket实例,你不仅能够学习到如何创建基本的网络连接,还能深入理解网络通信过程中的错误处理、多线程和并发等高级主题。同时,这也是开发基于Java的分布式系统、Web服务和其他网络应用程序的基础...
### Java Socket 编程实例详解 #### 一、引言 在现代软件开发中,网络编程占据了极其重要的地位。无论是互联网应用还是企业级系统,都需要处理不同设备间的通信。Java作为一种广泛使用的编程语言,提供了强大的...
Java Socket网络编程是Java平台中的核心特性,它为开发者提供了在TCP/IP协议下创建网络应用的能力。Socket编程主要用于实现客户端和服务器之间的通信,基于客户机/服务器模型。在这个模型中,服务器端通常处于被动...