java服务端同时接收和发送_如何实现客户端接收数据和发送数据的同步?
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这是我写的服务器端:
package jiaohu; import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket; public class Serverj implements Runnable{
ServerSocket server=null;
Socket play1=null;
Socket play2=null;
DataInputStream pI1=null;
DataOutputStream pO1=null;
DataInputStream pI2=null;
DataOutputStream pO2=null;
public Serverj(){
try{
server=new ServerSocket(6669);
System.out.println("创建连接");
play1=server.accept();
System.out.println("第一个用户连接上了");
pI1=new DataInputStream(play1.getInputStream());
pO1=new DataOutputStream(play1.getOutputStream());
play2=server.accept();
System.out.println("第二个用户连接上了");
pI2=new DataInputStream(play2.getInputStream());
pO2=new DataOutputStream(play2.getOutputStream());
}catch(Exception e){
System.out.println("创建失败");
}
}
public void run(){
while(true){
try {
int a=pI1.readInt();
int b=pI1.readInt();
int c=pI1.readInt();
System.out.println("接收结束");
pO2.writeInt(a);
pO2.writeInt(b);
pO2.writeInt(c);
int a1=pI2.readInt();
int b1=pI2.readInt();
System.out.println("接收结束");
pO1.writeInt(a1);
pO1.writeInt(b1);
} catch (IOException e) {
// TODO Auto-generated catch block
System.out.println("没有输入");
e.printStackTrace();
}
}
}
public static void main(String[] args){
new Serverj();
new Thread(new Serverj()).start();
} }
这是我写的用户端
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Scanner; public class Clientj implements Runnable {
Socket play=null;
DataInputStream in=null;
DataOutputStream out=null;
Clientj(){
try {
play=new Socket("192.168.1.13",6669);
in=new DataInputStream(play.getInputStream());
out=new DataOutputStream(play.getOutputStream());
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void run(){
while(true){
try {
if(in.readInt()==1){//表示接收数据
System.out.println("接收数据");
int a=in.readInt();
int b=in.readInt();
System.out.println(a+"+"+b);
}
//输出数据
System.out.println("请输入2个数据");
Scanner a1=new Scanner(System.in);
int a11=a1.nextInt();
int a12=a1.nextInt();
int a10=a1.nextInt();
out.writeInt(a10);
out.writeInt(a11);
out.writeInt(a12);
} catch (IOException e) {
// TODO Auto-generated catch block
System.out.println("有错");
e.printStackTrace();
}
}
}
public static void main(String[] args){
new Clientj();
new Thread(new Clientj()).start();
} }
我就是想一个用户端发送两个数据,而在另一个客户端能接收到,并且在另一个客户端发送的数据,在这个客户端也能接收,我该怎么改,请高手指点一二,小弟感激不尽!
java服务端同时接收和发送_如何实现客户端接收数据和发送数据的同步?相关推荐
- springboot中service中注入dao失败测试类中注入成功_聊一聊 Java 服务端中的乱象
查尔斯·狄更斯在<双城记>中写道:"这是一个最好的时代,也是一个最坏的时代." 移动互联网的快速发展,出现了许多新机遇,很多创业者伺机而动:随着行业竞争加剧,互联网红利 ...
- springboot实现SSE服务端主动向客户端推送数据,java服务端向客户端推送数据,kotlin模拟客户端向服务端推送数据
SSE服务端推送 服务器向浏览器推送信息,除了 WebSocket,还有一种方法:Server-Sent Events(以下简称 SSE).本文介绍它的用法. 在很多业务场景中,会涉及到服务端向客户端 ...
- 那些年,我们见过的 Java 服务端乱象
点击上方"方志朋",选择"设为星标" 做积极的人,而不是积极废人 Photo by The Book Tutor @Youtube 文 | 陈昌毅 导读 查尔斯 ...
- 那些年,我们见过的 Java 服务端“问题”
导读 明代著名的心学集大成者王阳明先生在<传习录>中有云: 道无精粗,人之所见有精粗.如这一间房,人初进来,只见一个大规模如此.处久,便柱壁之类,一一看得明白.再久,如柱上有些文藻,细细都 ...
- QtJava笔记-Qt与Java进行SSL双向认证(Qt客户端,Java服务端)
这里使用Java作为服务端,使用Qt作为客户端. 程序运行截图如下: 这里的证书Qt使用的p12,Java使用的jks,看以前的博文生成. 源码打包下载地址: https://github.com/f ...
- java服务端集成极光消息推送--详细开发步骤
1.极光推送账号准备 要使用极光消息推送必须先在官方网站上注册账号,并添加应用. 产品介绍:https://docs.jiguang.cn/jpush/guideline/intro/ 注册开发者账号 ...
- app及Java服务端实现JT808协议的定义解析
app及Java服务端实现JT808协议的定义解析,可以用做行车记录仪等的app. 网上很多帖子已经对JT808协议做了说明,我在这里就不做过多的赘述了. 最近接到一个项目是打车类的,所以对这协议做了 ...
- 谷歌支付(Java服务端)
Google Pay主要支付流程 1.手机端向Java服务端发起支付,生成预订单,给手机端返回生成的订单号 2.手机端向Google发起支付(传入本地服务器生成的订单号) 3.Google服务器将支付 ...
- 基于TCP/IP协议的Java服务端与Android客户端的Socket通信及数据交互
基于TCP/IP协议的Java服务端与Android客户端的Socket通信及数据交互 一.前言 1.Java服务端程序代码的项目名为TcpSocketServerOfJava,包名为com.exam ...
最新文章
- 1、orcal database 11g体系机构概述
- Java集合面试题?看这篇就够了!
- dva的用法_dva.js 用法详解:列表展示
- log算子dog算子
- mysql完整字段包括_MySQL字段类型最全解析
- JAVA NIO编程入门(二)
- windows下SecureCRT无法使用backspace(空格键)和上下左右键
- Tensorflow2.0 tf.function和AutoGraph模式
- Servlet添加商品
- 前端基础部分错题记录
- Mysql数据库常用分库和分表方式
- 华东云友会主播栏目01期 阿里云X海底捞,千人千锅就是如此任性!
- ssd颗粒查看工具_贴吧机佬强烈推荐的游戏SSD?西数蓝盘3D M.2 500G实测
- Linux学习总结(55)——Linux 运维常用脚本
- MongoDB 安装与启动
- Java爬虫工程师技能列表
- 第九届山东理工大学ACM网络编程擂台赛 F题题解
- 线性拟合(回归)的小结
- bzoj 4134 ljw和lzr的hack比赛
- C++中带.h与不带.h的头文件