java socket通信demo_Java socket通信Demo

服务器端:

import java.net.* ;

import java.io.* ;

public class EchoThread implements Runnable{

private Socket client = null ;

public EchoThread(Socket client){

this.client = client ;

}

public void run(){

BufferedReader buf = null ;// 接收输入流

PrintStream out = null ;// 打印流输出最方便

try{

out = new PrintStream(client.getOutputStream()) ;

// 准备接收客户端的输入信息

buf = new BufferedReader(new InputStreamReader(client.getInputStream())) ;

boolean flag = true ;// 标志位,表示可以一直接收并回应信息

while(flag){

String str = buf.readLine() ;// 接收客户端发送的内容

if(str==null||"".equals(str)){// 表示没有内容

flag = false ;// 退出循环

}else{

if("bye".equals(str)){// 如果输入的内容为bye表示结束

flag = false ;

}else{

out.println("ECHO : " + str) ;// 回应信息

}

}

}

client.close() ;

}catch(Exception e){}

}

};

import java.net.* ;

import java.io.* ;

public class EchoThread implements Runnable{

private Socket client = null ;

public EchoThread(Socket client){

this.client = client ;

}

public void run(){

BufferedReader buf = null ;// 接收输入流

PrintStream out = null ;// 打印流输出最方便

try{

out = new PrintStream(client.getOutputStream()) ;

// 准备接收客户端的输入信息

buf = new BufferedReader(new InputStreamReader(client.getInputStream())) ;

boolean flag = true ;// 标志位,表示可以一直接收并回应信息

while(flag){

String str = buf.readLine() ;// 接收客户端发送的内容

if(str==null||"".equals(str)){// 表示没有内容

flag = false ;// 退出循环

}else{

if("bye".equals(str)){// 如果输入的内容为bye表示结束

flag = false ;

}else{

out.println("ECHO : " + str) ;// 回应信息

}

}

}

client.close() ;

}catch(Exception e){}

}

};

客户端:

import java.net.* ;

import java.io.* ;

public class EchoClient{

public static void main(String args[]) throws Exception {// 所有异常抛出

Socket client = null ;// 表示客 户端

client = new Socket("localhost",8888) ;

BufferedReader buf = null ;// 一次性接收完成

PrintStream out = null ;// 发送数据

BufferedReader input = null ;// 接收键盘数据

input = new BufferedReader(new InputStreamReader(System.in)) ;

buf = new BufferedReader(new InputStreamReader(client.getInputStream())) ;

out = new PrintStream(client.getOutputStream()) ;

boolean flag = true ;// 定义标志位

while(flag){

System.out.print("输入信息:") ;

String str = input.readLine() ;// 接收键盘的输入信息

out.println(str) ;

if("bye".equals(str)){

flag = false ;

}else{

String echo = buf.readLine() ;// 接收返回结果

System.out.println(echo) ;// 输出回应信息

}

}

buf.close() ;

client.close() ;

}

};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值