前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java javaTCP 多客户端C/S 应答

java javaTCP 多客户端C/S 应答

作者头像
葫芦
发布2021-12-24 09:52:19
4080
发布2021-12-24 09:52:19
举报
文章被收录于专栏:葫芦葫芦

server

代码语言:javascript
复制
package echo;

import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;

public class EchoServer {


public static void main(String[] args) {
// TODO Auto-generated method stub
ServerSocket ss;
try {
ss = new ServerSocket(8000);
System.out.println("Server already start!");
Boolean flag=true;
while(flag){
System.out.println("Wait........");
Socket s=ss.accept();
new Thread(new UserThread(s)).start();
}} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}



class UserThread implements Runnable{
private Socket s;
public UserThread(Socket s){
this.s=s;
}
@Override
public void run() {
// TODO Auto-generated method stub
try{
System.out.println(s.getInetAddress().getHostAddress()+"Client connected.");
BufferedReader br=new BufferedReader(new InputStreamReader(s.getInputStream()));
PrintStream ps=new PrintStream(new BufferedOutputStream(s.getOutputStream()));
boolean bool=true;
while(bool){
String it =br.readLine();
if("".equals(it)||"bye".equals(it)){
bool=false;
}else{
System.out.println(it);
ps.println("echo:"+it);
ps.flush();
}
}
ps.close();
br.close();
}catch(IOException e){
e.printStackTrace();
}
}
}

client

代码语言:javascript
复制
package echo;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Scanner;

public class EchoClient {

public static void main(String[] args) {
try {
Socket s=new Socket("192.168.1.107",8000);
System.out.println("With server connected.");
Scanner input=new Scanner(System.in);
Boolean flag=true;
PrintStream ps=new PrintStream(new BufferedOutputStream(s.getOutputStream()));
BufferedReader br=new BufferedReader(new InputStreamReader(s.getInputStream()));
while(flag){

System.out.println("Please input:");
String info=input.next();
if("bye".equals(info)){
flag=false;
}else{
ps.println(info);
ps.flush();
System.out.println( br.readLine());
}

}
ps.close();
br.close();

} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2088 2014/,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档