服务端

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. Photoshop 混色模式学习
  2. windows下使用自带certutil工具校验文件MD5、SHA1、SHA256
  3. react-native-webview禁止缩放
  4. Flutter Dart 安装在window系统
  5. LeetCode 102二叉树的层序遍历103二叉树锯齿形遍历104二叉树的最大深度
  6. java中怎么用代码打出ASCII码字符_JAVA实现打印ascii码表代码
  7. SQL Server 数据库部分常用语句小结
  8. JS factory
  9. 【荐】万能清除浮动样式
  10. 剑指offer——面试题45:圆圈中最后剩下的数字(孩子们的游戏)
  11. 腾讯推出微信公众平台企业服务平台风铃
  12. 网络工程制图论文计算机,计算机工程制图教学的课业评价的论文
  13. 以寡治众各个击破,超大文件分片上传之构建基于Vue.js3.0+Ant-desgin+Tornado6纯异步IO高效写入服务
  14. 8个接私活的网站,只要你有码,那“我”就有钱
  15. MT6573 android 系统默认语言处理流程
  16. 印章-公司印章制作生成器
  17. 对两个二进制数X2=x21,x22,„,x2n和X1=x11,x12,„,x1n进行比较的同步时序电路进行设计
  18. 用python实现水纹特效
  19. ubuntu16.04 创建用户,赋予权限
  20. 创建oracle的存储过程,以及通过JDBC调用该存储过程

热门文章

  1. Android: Canvas drawText()设置marginleft ,字体center_vertical的方法
  2. 如何在word 文件或者邮件中输入英语国际音标或KK音标?
  3. 【破文标题】企业报表处理软件(2005版)免光盘破解
  4. 全球金融的幕后大亨:家族办公室 | 深度报道
  5. 加权求和公式_从加权求和的角度来看kalman滤波
  6. wcs系统有哪些模块
  7. matlab中怎么判断一个pushbutton按钮是否按下,matlab的GUI 想问下 每个控件例如pushbutton的函数要怎么编写,函数与普通的m文件一样吗?...
  8. 多条件查询以及数据筛选
  9. CQF(量化金融)到底有多香?为什么越来越多人都去考?
  10. console线。com接口。SecureCRT 使用。什么是SSH。母头。