java程序间怎么进行通信
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章将为大家详细讲解有关java程序间怎么进行通信,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。什么是socket?socket,中文翻译为套接字。它是一种对网
千家信息网最后更新 2026年11月02日java程序间怎么进行通信
这篇文章将为大家详细讲解有关java程序间怎么进行通信,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
什么是socket?
socket,中文翻译为套接字。它是一种对网络中不同主机上的应用进程(或者相同主机的不同应用进程)之间进行双向通信的端点的抽象。实际上就是两个网络各种通信连接中的端点。它的作用就是完成应用间的数据传输。
套接字技术简单的来讲就是通过socket,将两个应用进行连接,连接之后就能进行数据传输了。socket只是实现连接的方法。
小编认为套接字这个翻译并不能直接反映出这门技术的特点(过于生涩),socket可以被翻译为插座,而实际上套接字技术更像是软件上的"插座"和"插头"。汉语中的套接,是一种水管对接的技术,使用一个套接管将两端的水管连接起来,这种技术就叫套接,所以是不是能理解什么是套接字了呢?
怎么使用socket?
不同语言实现套接字的方式不同,java有专门实现套接字的包。只需要import 相应的包,就可以进行套接字编程。
创建socket连接后可以通过getInputStream()和getOutputStream()的方法来获取和发送socket之间传输的数据。
接下来就用一个实例代码来介绍一下怎么使用socket吧!
socket项目实战
server.java
import java.io.*;import java.net.ServerSocket;import java.net.Socket;import java.util.Scanner;public class Server { public static void main(String[] args){ try { ServerSocket serverSocket = new ServerSocket(8888); //在8888端口上监听,看是否有连接请求过来 System.out.println("开启服务端"); Socket accept = serverSocket.accept(); //获取socket连接 System.out.println("有连接过来"+accept); Thread thread1 = new Thread(){//使用多线程来进行收发,线程1用来接收消息 @Override public void run() { try { InputStream inputStream = accept.getInputStream();//获取socket输入流 DataInputStream dataInputStream = new DataInputStream(inputStream); //把输入流封装在DataInputStream while (true){ String msg = dataInputStream.readUTF();//使用readUTF读取字符串 System.out.println("监听客户端消息: "+msg); } } catch (IOException e) { e.printStackTrace(); } } }; Thread thread2 = new Thread(){//线程2用来发送消息 @Override public void run() { try { OutputStream outputStream = accept.getOutputStream(); //打开输出流 DataOutputStream dataOutputStream = new DataOutputStream(outputStream); //把输出流封装在DataOutputStream中 Scanner scanner = new Scanner(System.in); while (true){ String strServer = scanner.next(); dataOutputStream.writeUTF(strServer);//使用writeUTF发送字符串 } } catch (IOException e) { e.printStackTrace(); } } }; thread1.start(); thread2.start(); thread1.join(); System.out.println("服务器关闭"); accept.close();//关闭单个socket连接 serverSocket.close(); //关闭这个socket 服务器 } catch (Exception e) { System.out.println("断开连接"); } }}client.java
import java.io.*;import java.net.Socket;import java.util.Scanner;public class Client { public static void main(String[] args) { String host = "127.0.0.1";//目标电脑的ip地址,这里的地址是本机地址 int port = 8888;//目标电脑的端口 boolean flag = true; try { Socket socket = new Socket(host, port);//创建目标连接,传入ip地址和端口号 System.out.println("开启客户端"); Thread thread1 = new Thread() {//使用多线程方法来实行收发,线程1负责接收信息 @Override public void run() { try { InputStream inputStream = socket.getInputStream();//获取socket输入流 DataInputStream dataInputStream = new DataInputStream(inputStream); //把输入流封装在DataInputStream while (true) { String msg = dataInputStream.readUTF();//使用readUTF读取字符串 System.out.println("接收服务端消息: " + msg); } } catch (IOException e) { e.printStackTrace(); } } }; Thread thread2 = new Thread() {//线程2用来发送消息 @Override public void run() { try { OutputStream outputStream = socket.getOutputStream(); //打开输出流 DataOutputStream dataOutputStream = new DataOutputStream(outputStream); //把输出流封装在DataOutputStream中 Scanner scanner = new Scanner(System.in); while (true) { String str = scanner.next(); dataOutputStream.writeUTF(str);//使用writeUTF发送字符串 } } catch (IOException e) { e.printStackTrace(); } } }; thread1.start(); thread2.start(); thread1.join(); System.out.println("客户端关闭"); socket.close();//关闭这个socket } catch (Exception e) { System.out.println("断开连接"); } }}关于"java程序间怎么进行通信"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
套接字
线程
技术
消息
通信
不同
地址
字符
字符串
封装
应用
服务
输入
输出
客户
客户端
就是
数据
方法
目标
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
精品咖啡豆
互联网科技开发公司
互联网金融 科技金融
互联网养老 桔豆科技
济南和联互联网科技有限公司
青岛中康互联网医疗科技有限公司
中国科技互联网公司收入
互联网科技热点资讯
受益于互联网科技的高速发展
智腾互联网科技有限公司
互联网科技圈年度人物
启辰互联网科技
富国互联网金融科技混合基金
互联网科技年终奖
国产互联网科技公司
互联网高科技行业有哪些企业
互联网科技机房
陕西九四连强互联网科技有限公司
伍佰万互联网科技是干嘛的
知域互联网科技有限公司官网
互联网科技海报
上海挚品互联网科技有限公司
互联网属科技
礼当家互联网科技
多迪互联网科技有限公司
互联网科技革命什么开始
互联网科技产业特征
互联网公司黑科技创始人
互联网科技股为什么大涨
科技信息时代互联网发展