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实例创建后,就立即能用于发送和接收 ...
随机推荐
- postgresql recovery.conf改变需要重启吗
之前在研究pgpoll时,发现trigger_file参数指定的文件存在后,会自动将standby节点提升为可写节点.不需要手动执行pg_ctl promote,但是这个时间一般有延迟,因为进程会定期 ...
- struct 字节对齐详解
一.什么是字节对齐,为什么要对齐? 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特 定的内存地址访问, ...
- 年终盘点:Java今年的大事记都在这里!
在2017年即将结束之际,我们最好停下脚步来看看过去十二个月Java的发展情况.本文,笔者盘点了IT168企业级一年来对Java的跟踪报道. 这一年对Java来说是不容易的,从Java 9一再延期备受 ...
- (三)java程序的编译和执行
编写java程序 eg class Demo { /* * 程序运行的入口 */ public static void main(String[] args) { System.out.println ...
- win7C盘不够用怎么办
Windows 7 是由微软公司(Microsoft)开发的操作系统,核心版本号为Windows NT 6.1.Windows 7 可供家庭及商业工作环境.笔记本电脑.平板电脑.多媒体中心等使用. 工 ...
- asp.net core microservices 架构之eureka服务发现
一 简介 微服务将需多的功能拆分为许多的轻量级的子应用,这些子应用相互调度.好处就是轻量级,完全符合了敏捷开发的精神.我们知道ut(单元测试),不仅仅提高我们的程序的健壮性,而且可以强制将类和方法的设 ...
- 互联网公司面试必问的mysql题目(上)
又到了招聘的旺季,被要求准备些社招.校招的题库.(如果你是应届生,尤其是东北的某大学,绝对福利哦) 介绍:MySQL是一个关系型数据库管理系统,目前属于 Oracle 旗下产品.虽然单机性能比不上or ...
- Java实现7种常见的排序算法
数据结构中的内部排序:不需要访问外存便能完成,是一个逐步扩大记录的有序序列长度的过程. 可以分为5类: 1.插入排序:直接插入排序,稳定排序,时间复杂度为O(n^2)非递减有序,设置r[0]为哨兵进行 ...
- UI多线程调用:线程间操作无效: 从不是创建控件"Form1"的线程访问它.
有两种方式解决 1.在窗体构造函数中写Control.CheckForIllegalCrossThreadCalls =false;2.使用Invoke等委托函数. 问题原因是.net2.0以后拒绝多 ...
- gen already exists but is not a source folder
遇到android项目导入出现后重复空包等错误,往往是导入的java编译级别有关,点击项目properties-> java Compiler ->修改Compiler complianc ...