700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > java服务端同时接收和发送_如何实现客户端接收数据和发送数据的同步?

java服务端同时接收和发送_如何实现客户端接收数据和发送数据的同步?

时间:2019-11-22 21:44:51

相关推荐

java服务端同时接收和发送_如何实现客户端接收数据和发送数据的同步?

该楼层疑似违规已被系统折叠隐藏此楼查看此楼

这是我写的服务器端:

package jiaohu; import java.io.DataInputStream;

import java.io.DataOutputStream;

import java.io.IOException;

import .ServerSocket;

import .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 .Socket;

import .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();

} }

我就是想一个用户端发送两个数据,而在另一个客户端能接收到,并且在另一个客户端发送的数据,在这个客户端也能接收,我该怎么改,请高手指点一二,小弟感激不尽!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。