java tcp socket实例
- package com.network;
- import java.io.BufferedInputStream;
- import java.io.BufferedOutputStream;
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.InputStreamReader;
- import java.io.OutputStream;
- import java.io.OutputStreamWriter;
- import java.net.InetSocketAddress;
- import java.net.ServerSocket;
- import java.net.Socket;
- import java.util.Arrays;
- public class ServerChat {
- /**
- * @param args
- * @throws IOException
- */
- public static void main(String[] args) throws IOException {
- // TODO Auto-generated method stub
- InetSocketAddress isa = new InetSocketAddress("10.140.86.98",5858);
- ServerSocket server = new ServerSocket();
- server.bind(isa);
- System.out.println("isBound: " + server.isBound());
- System.out.println("SocketAddress: " + server.getLocalSocketAddress());
- new Thread(new WorkingServer(server)).start();
- while(true){
- Socket client = server.accept();
- System.out.println("this main thread");
- InputStream in = client.getInputStream();
- InputStreamReader read = new InputStreamReader(new BufferedInputStream(in));
- OutputStream out = client.getOutputStream();
- OutputStreamWriter write = new OutputStreamWriter( new BufferedOutputStream(out));
- write.write("hello");
- write.flush();
- char [] cbuf = new char[100];
- Arrays.fill(cbuf, '/0');
- int len = read.read(cbuf, 0, 100);
- StringBuilder sb = new StringBuilder(100);
- sb.append(cbuf, 0, len);
- System.out.println(sb.toString());
- read.close();
- client.close();
- write.close();
- }
- }
- }
- package com.network;
- import java.io.BufferedInputStream;
- import java.io.BufferedOutputStream;
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.InputStreamReader;
- import java.io.OutputStream;
- import java.io.OutputStreamWriter;
- import java.net.ServerSocket;
- import java.net.Socket;
- import java.util.Arrays;
- public class WorkingServer implements Runnable {
- private ServerSocket server;
- WorkingServer(ServerSocket s){
- server = s;
- }
- void communicat( Socket client) throws IOException{
- System.out.println("this sub thread: " + Thread.currentThread().getId());
- InputStream in = client.getInputStream();
- InputStreamReader read = new InputStreamReader(new BufferedInputStream(in));
- OutputStream out = client.getOutputStream();
- OutputStreamWriter write = new OutputStreamWriter( new BufferedOutputStream(out));
- write.write("hello");
- write.flush();
- char [] cbuf = new char[100];
- Arrays.fill(cbuf, '/0');
- int len = read.read(cbuf, 0, 100);
- StringBuilder sb = new StringBuilder(100);
- sb.append(cbuf, 0, len);
- System.out.println(sb.toString());
- read.close();
- // /client.close();
- write.close();
- }
- @Override
- public void run() {
- // TODO Auto-generated method stub
- System.out.println(Thread.currentThread());
- while(true){
- try {
- Socket client = server.accept();
- Thread.sleep(5000);
- communicat(client);
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (InterruptedException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }
- }
- package com.network;
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.InputStreamReader;
- import java.io.OutputStreamWriter;
- import java.net.Socket;
- import java.net.UnknownHostException;
- public class ClientSock {
- /**
- * @param args
- * @throws IOException
- * @throws UnknownHostException
- */
- public static void main(String[] args) throws UnknownHostException, IOException {
- // TODO Auto-generated method stub
- Socket s = new Socket("10.140.86.98", 5858);
- System.out.println( "remote socket " + s.getRemoteSocketAddress());
- InputStream in = s.getInputStream();
- InputStreamReader reader = new InputStreamReader(in);
- char [] cbuf = new char[100];
- int len = reader.read(cbuf);
- StringBuilder sb = new StringBuilder(100);
- sb.append(cbuf, 0, len);
- System.out.println(sb.toString());
- OutputStreamWriter writer = new OutputStreamWriter(s.getOutputStream());
- writer.write("from client");
- writer.close();
- reader.close();
- s.close();
- }
- }
java tcp socket实例的更多相关文章
- Java中使用Socket连接判断Inputstream结束,java tcp socket服务端,python tcp socket客户端
最近在试着用java写一个socket的服务器,用python写一个socket的客户端来完成二者之间的通信,但是发现存在一个问题,服务器方面就卡在读取inputsream的地方不动了,导致后面的代码 ...
- JAVA TCP Socket
服务器端 package com.Pong.tcpip; import java.io.BufferedReader; import java.io.IOException; import jav ...
- java nio socket实例
Server端代码: public class NioServer { //通道管理器 private Selector selector; //获取一个ServerSocket通道,并初始化通道 p ...
- java之TCP(Socket,serverSocket)实例
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import ...
- JAVA 通过 Socket 实现 TCP 编程
简介 TCP简介 TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的.可靠的.基于字节流的传输层通信协议,由IETF的RFC 793定义.在简化的计算机 ...
- 【Java TCP/IP Socket】基于线程池的TCP服务器(含代码)
了解线程池 在http://blog.csdn.net/ns_code/article/details/14105457(读书笔记一:TCP Socket)这篇博文中,服务器端采用的实现方式是:一个客 ...
- 【Java TCP/IP Socket】TCP Socket(含代码)
TCP的Java支持 协议相当于相互通信的程序间达成的一种约定,它规定了分组报文的结构.交换方式.包含的意义以及怎样对报文所包含的信息进行解析,TCP/IP协议族有IP协议.TCP协议和UDP协议.现 ...
- Flex通信-与Java实现Socket通信实例
Flex通信-与Java实现Socket通信实例 转自:http://blessht.iteye.com/blog/1136888 博客分类: Flex 环境准备 [服务器端] JDK1.6,“ja ...
- 《Java TCP/IP Socket 编程 》读书笔记之十一:深入剖析socket——TCP套接字的生命周期
转载请注明出处:http://blog.csdn.net/ns_code/article/details/16113083 建立TCP连接 新的Socket实例创建后,就立即能用于发送和接收 ...
随机推荐
- Photoshop脚本指南——Hello World
作为一个程序猿,每一个东西的学习都是从Hello World开始的,从今天开始,让我们一起进入Photoshop脚本的世界,并以Hello World开始我们的旅程. 1.简介 Photoshop支持 ...
- Could not publish to the server.Please assign JRE to the server
1.错误描述 2.错误原因 由错误提示可知,是Tomcat未绑定JRE,导致报错 3.解决办法 (1)删除新建Tomcat (2)重新新建一个Tomcat,配置好Tomcat路径和JRE路径
- Discuz代码研究-编码规范
Discuz中的编码规范很值得PHP开发人员借鉴.里面既介绍了编码时代码标记,注释,书写规则,命名原则等方面基础的内容,对代码的安全性,性能,兼容性,代码重用,数据库设计,数据库性能及优化作了阐述,这 ...
- del语句
5.2. del 语句 有个方法可以从列表中按给定的索引而不是值来删除一个子项: del 语句.它不同于有返回值的 pop() 方法.语句 del 还可以从列表中删除切片或清空整个列表(我们以前介绍过 ...
- linux下安装boost
linux平台下要编译安装除gcc和gcc-c++之外,还需要两个开发库:bzip2-devel 和python-devel,因此在安装前应该先保证这两个库已经安装:#yum install gcc ...
- win10环境变量的配置
c盘->环境变量: 1.添加变量名和变量值 变量名:JAVA_HOME 变量值:C:\Program Files\Java\jdk1.8.0_161 2.添加变量名和变量值 变量名:JAVA_H ...
- C# chart控件运用
为了弄一个实时数据显示的窗口,最近一周时间都耗在这个控件上了,属性有点多(下面列的是一些常用的) 后来干脆写代码把他们封装起来,各个chart直接来调用它,省得到属性里面去设置. chart内的一些元 ...
- git自用笔记
同步远程库:git clone xxx.git [filename] git ls-files: 查看已经添加进暂存区的文件. 在commit前修改一个文件后(假设名为:xxx.file),想撤销时, ...
- 使用 ip 进行系统网络配置
检查是否有安装iproute工具 rpm -qa | grep iproute 查看所有可用接口 ip link show 启用或禁用接口 ip link set down eth1 ip link ...
- windows64位Oracle安装和PL/SQL配置
折腾了一下午,趟了几个坑,终于用PL/SQL连上了Oracle,晒晒填坑经历. 先去oracle官网下数据库安装文件,官网有登陆验证,如果没注册的话先注册吧.数据库(下载地址http://www.or ...