- 浏览: 2049816 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (795)
- java (263)
- 聚类搜索引擎 (9)
- 经验之谈 (67)
- DSP (3)
- C++ (140)
- Linux (37)
- SNMP (6)
- Python (6)
- 数据库 (61)
- 网络 (20)
- 算法 (15)
- 设计模式 (4)
- 笔试题 (38)
- 散文 (35)
- 数据结构 (9)
- 银行知识 (0)
- 榜样 (9)
- Lucene (15)
- Heritrix (6)
- MetaSeeker (0)
- netbeans (12)
- php (3)
- 英语 (8)
- DB2 (0)
- java基础 (5)
- mongodb & hadoop (4)
- Javascript (7)
- Spring (4)
- ibatis & myibatis (1)
- velocity (1)
- 微服务 (0)
- paddle (1)
- 第三方 (0)
- 知识沉淀 (1)
- 建模 (0)
最新评论
-
0372:
标示对java很陌生!
中文乱码解决的4种方式 -
梦留心痕:
Java中\是转意字符, 可是你的这句话我没看懂,只要把得到的 ...
java中如何忽略字符串中的转义字符--转载 -
yanjianpengit:
[b][/b]
java为什么非静态内部类里面不能有静态成员 -
springdata-jpa:
可以参考最新的文档:如何在eclipse jee中检出项目并转 ...
eclipse 如何把java项目转成web项目 -
qq1130127172:
,非常好。
(转)SpringMVC 基于注解的Controller @RequestMapping @RequestParam..
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.logging.Level; import java.util.logging.Logger; /** * * @author max */ public class Server1 { public static void main(String[] args) throws IOException { int port = 8821; ServerSocket serverSocket = new ServerSocket(port); ExecutorService exe = Executors.newFixedThreadPool( //只有一个ExecutorService,执行 Runtime.getRuntime().availableProcessors()*10); while(true) { Socket socket = serverSocket.accept(); exe.execute(getTask(socket)); //开启多个线程 } } public static Runnable getTask(final Socket s) { return new Runnable(){ private BufferedReader br = null; private PrintWriter pw = null; private Socket socket = null; public void run() { try { this.socket = s; //socket可以传递 System.out.println("接收到客户端的数据"); br = getReader(socket); pw = getWriter(socket); //从客户端读 String msg = null; while (( msg = br.readLine()) != null) { System.out.println(msg); if(msg.equals("bye")) //注意,没有这句不能退出while break; } //向客户端写 pw.println("数据正确"); } catch (IOException ex) { Logger.getLogger(Server1.class.getName()).log(Level.SEVERE, null, ex); } finally { try { if(socket!=null) socket.close(); } catch (IOException ex) { Logger.getLogger(Server1.class.getName()).log(Level.SEVERE, null, ex); } } } //从客户端读数据 private BufferedReader getReader(Socket socket) throws IOException { InputStream input = socket.getInputStream(); return new BufferedReader(new InputStreamReader(input)); } //向客户端写数据 private PrintWriter getWriter(Socket socket) throws IOException { OutputStream output = socket.getOutputStream(); return new PrintWriter(new OutputStreamWriter(output),true);//注意true是提醒刷新 } }; } }
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.net.Socket; import java.net.UnknownHostException; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.logging.Level; import java.util.logging.Logger; /** * * @author max */ public class Client1 { public static void main(String[] args) { int numTask = 10; ExecutorService exec = Executors.newCachedThreadPool(); for(int i = 0;i < numTask;i++) { exec.execute(createTask(i)); } } public static Runnable createTask(int taskID) { return new Runnable(){ private int port = 8821; private Socket socket = null; public void run(){ try { System.out.println("开始发送数据"); socket = new Socket("localhost", port); OutputStream socketOut = socket.getOutputStream(); socketOut.write("你好,你是谁\r\n".getBytes()); socketOut.write("bye\r\n".getBytes()); InputStream socketInput = socket.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(socketInput)); String msg = null; while((msg = br.readLine())!= null) { System.out.println(msg); } } catch (UnknownHostException ex) { Logger.getLogger(Client1.class.getName()).log(Level.SEVERE, null, ex); } catch (IOException ex) { Logger.getLogger(Client1.class.getName()).log(Level.SEVERE, null, ex); } } }; } }
发表评论
-
流式计算
2022-02-07 14:31 286private void postHandle(List& ... -
消息队列使用的四种场景介绍
2018-08-09 16:34 2478以下介绍消息队列在实际应用中常用的使用场 ... -
设计模式
2018-04-11 16:49 9861.桥梁模式,将抽象部分与实现部分隔离开,抽象部分持有实现 ... -
Spring boot web可以访问Service和Mapper层
2018-03-26 16:42 2872Spring boot的web层可以访问Service层,然 ... -
FreeMarker的基础语法使用 && 心得和技巧
2018-01-10 10:03 2063FreeMarker是一个模板引 ... -
webService----wss4j+cxf实现WS-Security(基于UsernameToken)
2017-10-23 18:58 1561分享一下wss4j+cxf基于UsernameToken的安 ... -
Spring MVC之LocaleResolver(解析用户区域)
2017-09-23 15:55 2534为了让web应用程序支持国际化,必须识别每个用户的首选区域, ... -
(转)java泛型
2016-11-12 20:29 1650http://www.cnblogs.com/lwbqqyu ... -
java中如何忽略字符串中的转义字符--转载
2016-06-28 16:42 9916原文地址:http://my ... -
(转)关于JAP FetchType.LAZY(hibernate实现)的理解 .
2016-04-27 15:22 5108JPA定义实体之间的关系有如下几种: @OneToOne ... -
(转)hibernate annotation注解方式来处理映射关系
2016-04-26 16:52 1841http://www.cnblogs.com/xiao ... -
代码片段,导出的文件头
2015-11-18 20:34 1606public static void setDownload ... -
(转)为什么要两次调用encodeURI来解决乱码问题
2015-08-03 20:19 2489地址:http://blog.csdn.net/howla ... -
杀死进程
2015-07-21 14:54 1293sudo lsof -i :9000 COMMAND P ... -
批处理batch,执行多个SQL语句
2015-07-15 19:21 10616批处理batch,执行多个SQL语句。 ... -
中文乱码解决的4种方式
2015-07-03 14:20 2630目前收集到4中方法,中文传参一documentPath为例: ... -
GET请求的中文乱码问题及处理意义
2015-07-03 13:47 6635首先看一段乱码的程序 ... -
java.ByteArrayInputStream与ByteArrayOutputStream再次理解
2015-03-16 17:59 3242第一次看到ByteArrayOutputStream的时 ... -
(转)SpringMVC 基于注解的Controller @RequestMapping @RequestParam..
2014-07-28 17:42 2282概述 继 Spring 2.0 对 Spring MVC ... -
java中序列化的serialVersionUID解释
2014-07-25 09:26 1891serialVersionUID: 字面意思上是序列化的版本号 ...
相关推荐
在这个“server/client 多用户通信”项目中,我们将深入探讨如何使用Socket来构建异步式、消息驱动的系统,以支持多个客户端同时与服务器进行交互。 首先,让我们从基础概念开始。`ServerSocket`是Java提供的一个类...
在《A Simple IOCP Server/Client Class》项目中,服务器端主要涉及以下步骤: 1. **创建IOCP**:使用`CreateIoCompletionPort()`函数创建一个IOCP,为后续I/O操作提供接口。 2. **设置监听套接字**:通过`socket()...
在IT领域,服务器/客户端(Server/Client)架构是一种常见的通信模式,特别是在网络编程中,如TCP协议的应用。本文将详细解析如何在Linux环境下实现基于TCP协议的客户端和服务器之间的通信功能。 首先,TCP...
总的来说,VNC的server端和client端通过简单的网络通信协议实现了高效的远程桌面控制,为用户提供了极大的便利。RealVNC作为VNC技术的重要提供商,其产品在安全性、稳定性和易用性方面都有出色的表现,是许多企业和...
而"TCPServer"文件则可能包含服务器端的代码,如设置监听套接字,接受客户端连接,处理接收到的数据,以及关闭连接的逻辑。 通过这两个程序,我们可以深入学习TCP协议的工作机制,包括连接的建立、数据的传输和连接...
在远程控制场景中,client端发送指令到server端,server端接收并执行这些指令,然后将执行结果返回给client。这个过程涉及到网络编程的核心概念,如套接字编程、数据传输格式(如JSON或XML)以及错误处理。 在...
在这个"TCP Server/Client Demo C#程序"中,我们将探讨如何使用C#进行TCP/IP通信的基础知识。 首先,TCP(Transmission Control Protocol)是一种面向连接的、可靠的传输协议,它确保了数据的顺序传输和错误检测。...
开发者可以通过Server端向其他设备广播信息,或者设置Client端接收Server的数据,实现双向通信。这对于测试App在局域网环境下的性能和功能至关重要。 3. **局域网调试**: 局域网调试是指在同一个网络环境下,通过...
总的来说,这个Java UDP Server/Client示例提供了一个基础的网络通信模型,展示了如何在Java中利用UDP进行数据交换。通过深入研究这些文件,你可以学习到网络编程的基础知识,包括套接字编程、数据打包与解包,以及...
首先,对于服务器端(Server)的实现,我们需要创建一个Socket实例,并指定其IP地址和端口号。服务器通常会绑定到一个特定的IP和端口上,等待客户端的连接请求。在C#中,这可以通过调用Socket的Bind和Listen方法实现...
这个是简单的TCPServer和TCPClent。简单实了server与client之前的通信。
在构建基于UDP的Server/Client模型时,我们通常会创建两个程序:一个是服务器端(UDP Server),另一个是客户端(UDP Client)。下面我们将详细介绍这两个程序的实现以及如何进行网络通信。 1. **UDP Server**: -...
在Python编程中,实现服务器(Server)与多个客户端(Client)之间的通信是常见的网络编程任务。这个场景通常涉及网络协议,如TCP/IP或UDP,以及多线程或多进程技术来处理来自不同客户端的并发请求。在这个项目中,...
在本项目中,"OpenCV+TCP+server+client.zip" 是一个利用Python的OpenCV库和socket模块实现的基于TCP通信的局域网视频监控系统。这个系统分为两个主要部分:服务器(server)和客户端(client)。让我们深入探讨一下...
在这个环境中实现TCP Server和Client,可以帮助设备之间进行高效、可靠的数据通信。 TCP(Transmission Control Protocol)是一种面向连接的、可靠的传输协议,它确保了数据在发送端和接收端之间的完整性和顺序。在...
在IT行业中,TCP(传输控制协议)是一种广泛用于网络通信的协议,因为它提供了一种可靠的、面向...通过实践TcpServerDemo2和ClientDemo2这两个示例,你可以深入理解TCP通信的工作原理,并具备实际编写相关代码的能力。
在这个例子中,我们关注的是一个简单的Server端和Client端的实现,这类似于流行的即时通讯软件QQ的数据通信功能。 首先,让我们深入了解Winsocket的基本概念。Winsock是Windows Socket的简称,它是一个API,用于在...
在这个“server_client通信程序”中,我们很可能会看到使用Socket编程实现的实例。Socket是网络编程中的一个接口,允许应用程序通过它来发送和接收数据。 1. **Socket编程基础**: Socket是进程间通信(IPC)的一...
在IT领域,Client/Server通信是网络编程中的基础模型,广泛应用于各种分布式系统。Qt库,作为一个跨平台的C++应用程序开发框架,提供了强大的网络通信支持,尤其是通过其TCP Socket模块。本文将深入探讨Qt下如何实现...
这个组件在64位操作系统中尤其重要,因为它提供了对64位数据源的支持,确保了与SQL Server 2008 R2等64位数据库系统的高效通信。 1. **ODBC接口**: ODBC是SQL Server Native Client 10.0中的关键部分,它是一个...