- 浏览: 2020247 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (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 239private void postHandle(List& ... -
消息队列使用的四种场景介绍
2018-08-09 16:34 2416以下介绍消息队列在实际应用中常用的使用场 ... -
设计模式
2018-04-11 16:49 9411.桥梁模式,将抽象部分与实现部分隔离开,抽象部分持有实现 ... -
Spring boot web可以访问Service和Mapper层
2018-03-26 16:42 2803Spring boot的web层可以访问Service层,然 ... -
FreeMarker的基础语法使用 && 心得和技巧
2018-01-10 10:03 1949FreeMarker是一个模板引 ... -
webService----wss4j+cxf实现WS-Security(基于UsernameToken)
2017-10-23 18:58 1511分享一下wss4j+cxf基于UsernameToken的安 ... -
Spring MVC之LocaleResolver(解析用户区域)
2017-09-23 15:55 2453为了让web应用程序支持国际化,必须识别每个用户的首选区域, ... -
(转)java泛型
2016-11-12 20:29 1598http://www.cnblogs.com/lwbqqyu ... -
java中如何忽略字符串中的转义字符--转载
2016-06-28 16:42 9818原文地址:http://my ... -
(转)关于JAP FetchType.LAZY(hibernate实现)的理解 .
2016-04-27 15:22 5049JPA定义实体之间的关系有如下几种: @OneToOne ... -
(转)hibernate annotation注解方式来处理映射关系
2016-04-26 16:52 1796http://www.cnblogs.com/xiao ... -
代码片段,导出的文件头
2015-11-18 20:34 1565public static void setDownload ... -
(转)为什么要两次调用encodeURI来解决乱码问题
2015-08-03 20:19 2429地址:http://blog.csdn.net/howla ... -
杀死进程
2015-07-21 14:54 1244sudo lsof -i :9000 COMMAND P ... -
批处理batch,执行多个SQL语句
2015-07-15 19:21 10553批处理batch,执行多个SQL语句。 ... -
中文乱码解决的4种方式
2015-07-03 14:20 2587目前收集到4中方法,中文传参一documentPath为例: ... -
GET请求的中文乱码问题及处理意义
2015-07-03 13:47 6598首先看一段乱码的程序 ... -
java.ByteArrayInputStream与ByteArrayOutputStream再次理解
2015-03-16 17:59 3197第一次看到ByteArrayOutputStream的时 ... -
(转)SpringMVC 基于注解的Controller @RequestMapping @RequestParam..
2014-07-28 17:42 2223概述 继 Spring 2.0 对 Spring MVC ... -
java中序列化的serialVersionUID解释
2014-07-25 09:26 1846serialVersionUID: 字面意思上是序列化的版本号 ...
相关推荐
TCP Server/Client Demo 程序,实现基本的通信测试,C#编程
基于serversocket clientsocket 多用户通信
Qt/qt creator实现TCP通信,多线程实现服务器的并发(server/client)
运行服务器程序TCPServer,如果没有错误发生,将在本机上的4567端口上等待客户端的连接。如果没有连接请求,服务器会一直处于休眠状态。 运行服务器之后,再运行客户端TCPclient。
实现Linux下的客户端、服务器通信功能,基于TCP协议。
这个是简单的TCPServer和TCPClent。简单实了server与client之前的通信。
python 一个 server端 可以与多个client端通信 代码
Python OpenCV 写的基于tcp通信的局域网视频监控py程序。包含server和client两部分。
1,Server支持多客户访问; 2,C与S之间使用TCP连接; 3,C与C之间直接通信(不是通过S传递)。 4,C与C之间直接通信既可以使用TCP,也可以使用UDP。 5,可以使用Socket,也可以使用TcpClient/UdpClient等;
可正常运行~分为服务端和客户端,内网穿透,学习的好例子。
服务器客户端通信程序,socket编程。
SocketTool调试软件是一款网络TCP/UDP通信调试工具 本工具集功能强大与简单易用为一体,是无需安装的免费绿色软件。 它可以帮助网络编程人员、网络维护人员检查所开发的网络应用软硬件的通信状况。 ★ 全面集成 ...
Client/Server通信(NamedPipe实现),C++实现,可以直接运行。
tcp_server_client:精简的C ++ TCP客户端服务器
Qt下简单的客户端服务器端通信
MFC 网络通信demo server和client
为TCP/IP socket通信的实现源码,包含Client端和Server端程序,绝对好用
server and client 通信
该文件step by step的介绍了如何通过Simulink将配置AUTOSAR中Client Server通信。可以用于对Simulink 向 AUTOSAR规范的迁移指导