服务端

package server;import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;public class Servertools {private    ServerSocket sersoc;public Socket clisoc[]=new Socket[20];private  DataOutputStream out;private    InputStream inFromClient;private DataInputStream in;/*** 服务端类构造方法* @param port*/Servertools(int port){try {sersoc=new ServerSocket(port);clisoc[0]=sersoc.accept();inFromClient = clisoc[0].getInputStream();in = new DataInputStream(inFromClient);           } catch (IOException e) {e.printStackTrace();}this.read();//开启读取线程      }/*** socket服务端类发送消息方法* @param mes* @param clientsoc*/public void send(String mes,Socket clientsoc) {try {out = new DataOutputStream(clientsoc.getOutputStream());out.writeUTF(mes); }catch(IOException e) {System.out.println("socket~server发送失败:"+e);       }               }/*** socket服务端类读取消息方法*/public void read() {Readthread rt=new Readthread();rt.start();}/*** socket服务端读取线程类* @author Administrator**/public class Readthread extends Thread{public void run() {while(true){try {String tempstr=in.readUTF();//System.out.println("socket~client收到消息:"+tempstr);    Server.readit(tempstr);//调用主类读取中断方法}catch(IOException e) {try {Thread.sleep(1000);} catch (InterruptedException ee) {ee.printStackTrace();}}                }               }}/*** socket服务端类关闭方法*/public void close() {try {out.close();clisoc[0].close();}catch(IOException e) {System.out.println("socket~server关闭失败:"+e);}       }
}

在使用类中实现 "Server.readit(tempstr);//调用主类读取中断方法" 静态方法即可获得传输过来的数据Server为类名

客户端

package client;import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;public class Clienttools {private Socket clisoc;private OutputStream outtoserver;private DataOutputStream out;private InputStream inFromServer;private DataInputStream in;/*** socket客户端类构造方法* @param ip* @param port*/Clienttools(String ip,int port){try {//输出流区clisoc=new Socket(ip,port);outtoserver=clisoc.getOutputStream();out=new DataOutputStream(outtoserver);        //输入流区inFromServer = clisoc.getInputStream();in = new DataInputStream(inFromServer);          }catch(IOException e) {System.out.println("socket~client创建失败:"+e);       }this.read();}/*** socket客户端类发送消息方法* @param mes*/public void send(String mes) {try {out.writeUTF(mes); }catch(IOException e) {System.out.println("socket~client发送失败:"+e);       }               }/*** socket客户端类读取消息方法*/public void read() {Readthread rt=new Readthread();rt.start();}/*** socket客户端读取线程类* @author Administrator**/public class Readthread extends Thread{public void run() {    while(true){try {String tempstr=in.readUTF();//System.out.println("socket~client收到消息:"+tempstr);    Client.readit(tempstr);//调用主类读取中断方法}catch(IOException e) {try {Thread.sleep(1000);} catch (InterruptedException ee) {ee.printStackTrace();}}                }                               }}/*** socket客户端类关闭方法*/public void close() {try {out.close();outtoserver.close();clisoc.close();}catch(IOException e) {System.out.println("socket~client关闭失败:"+e);}          }
}

同样在实用类中实现静态方法"Client.readit(tempstr);//调用主类读取中断方法"  (Client为类名) 获得服务端传来的数据

需要不同类型的数据传输时,修改输出流的write方法即可.

声明:转载请注明出处,本人入门级菜鸟,内容大多学习于网络,存在问题太多不一一列举,大佬多多指教.本人QQ941131649

java socket工具类相关推荐

  1. Hutool Java常用工具类汇总

    简介 Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以"甜甜的". Hu ...

  2. JAVA常用工具类(实用高效)

    JAVA常用工具类(根据GITHUB代码统计) 从Google你能搜索到大量的关于Struts,Spring,Hibernate,iBatis等比较大的框架的资料,但是很少有人去关注一些小的工具包,但 ...

  3. UrlUtils工具类,Java URL工具类,Java URL链接工具类

    UrlUtils工具类,Java URL工具类,Java URL链接工具类 >>>>>>>>>>>>>>>&g ...

  4. Java并发工具类(闭锁CountDownLatch)

    并发工具类系列: Java并发工具类(闭锁CountDownLatch) Java并发工具类(栅栏CyclicBarrier) Java并发工具类(信号量Semaphore) 闭锁是一种同步工具类,可 ...

  5. java日期工具类DateUtil

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. DateUtil类 [java] view plain copy package com.util; ...

  6. Java常用工具类StringUtils的常用方法

    Java常用工具类StringUtils的常用方法 1.该工具类是用于操作Java.lang.String类的. 2.StringUtils类在操作字符串是安全的,不会报空指针异常,也正因此,在操作字 ...

  7. 组织机构代码和统一社会信用代码校验规则以及java校验工具类

    组织机构代码 编码规则编辑 1.全国组织机构代码由八位数字(或大写拉丁字母)本体代码和一位数字(或大写拉丁字母)校验码组成. 本体代码采用系列(即分区段)顺序编码方法. 校验码按照以下公式计算: C9 ...

  8. 彻底理解Java并发:Java并发工具类

    本篇内容包括:Java 并发工具类的介绍.使用方式与 Demo,包括了 CountDownLatch(线程计数器).CyclicBarrier(回环栅栏).Semaphore(信号量) 以及 Exch ...

  9. java 系统工具类 查询内存 CPU 系统基本信息 SysInfoUtils

    java 系统工具类 查询内存 CPU 系统基本信息 SysInfoUtils maven依赖 <dependency><groupId>com.github.oshi< ...

最新文章

  1. OpenGL Vertex Array
  2. 如何利用OpenCV自带的级联分类器训练程序训练分类器
  3. ckks方案优化最好的_站群如何优化才能提高SEO效果?站群优化方案有哪些?
  4. linux虚拟化毕业设计,毕业设计(论文)-基于Linux的云校园桌面虚拟化系统的设计与实现(68页)-原创力文档...
  5. Spring MVC的异步模式DefferedResult
  6. Python学习笔记:I/O编程
  7. 初一模拟赛总结(5.11)
  8. 毕业了去哪里工作,一位毕业多年北漂人的经验感悟
  9. 吴恩达深度学习 —— 2.11 向量化
  10. 图的最小生成树(java实现)
  11. Numpy 数组操作
  12. 使用迅捷PDF编辑器免费去除pdf水印
  13. (转)常见数学符号及公式英文发音大全
  14. 哪个软件可以玩java游戏_安卓java模拟器?安卓手机如何玩JAVA游戏以及JAVA软件的方法...
  15. Java——图形 继承Shapes(形状)计算周长,面积。
  16. 【媒体】黑灰产横行,金融行业如何“数智化”反欺诈?
  17. 如何评价腾讯发布的区块链游戏《一起来捉妖》?
  18. Git + Github初入门
  19. 罗技 连点 脚本_走心分享!当评测罗技MASTER 3遇上ANYWHERE 3_鼠标
  20. 《清单革命》的读后感优秀范文3900字

热门文章

  1. HDU 4666 Hyperspace(最长曼哈顿距离)
  2. SpingBoot+ScheduledFuture 实现动态定时任务
  3. 【25】模型参数量Params与计算量Flops的计算方法
  4. 面向中小型企业极具性价比的免费开源ERP
  5. Python理论模拟题
  6. 基于android的旅游景点APP
  7. java实习生年终总结_【JAVA实习生工作总结_JAVA实习生个人年终总结】-看准网
  8. 速写篇—速写打型需要几步?这5步准确起型~
  9. 基本webpack.config.js配置和packag.json配置
  10. 利用langchain-ChatGLM、langchain-TigerBot实现基于本地知识库的问答应用