Java——Socket实现服务器与客户端交流
来源:互联网 发布:男生直播软件 编辑:程序博客网 时间:2024/06/12 22:58
//Server.javaimport java.io.*;import java.net.*;public class Server { public static void main(String[] args) throws IOException{ // TODO Auto-generated method stub //创建一个服务器端socket,指定绑定的端口号,并监听此端口 InputStream inp; InputStreamReader isr; BufferedReader bfr; Socket socket; ServerSocket serverSocket; String info;// System.out.println("服务器启动,正在等待客户端连接"); while(true) { try { //System.out.println("服务器启动,正在等待客户端连接"); serverSocket = new ServerSocket(6666); while(true) { socket = serverSocket.accept(); inp = socket.getInputStream(); isr = new InputStreamReader(inp); bfr = new BufferedReader(isr); info = null; if((info = bfr.readLine())!=null && !info.equals(" ")) { System.out.println("客服端说:"+info); } if(info.equals(" ")) { //socket.shutdownInput(); System.out.println("客服端表示输入完毕..."); break; } } PrintWriter pw; OutputStream ots; String i; Socket socket1; while(true) { socket1 = new Socket("localhost",7777); System.out.println("请输入数据(输入空格+回车结束输入):"); System.out.print(">"); ots = socket1.getOutputStream(); pw = new PrintWriter(ots); pw.write(""); pw.write(i = new BufferedReader(new InputStreamReader(System.in)).readLine()); pw.flush(); socket1.shutdownOutput(); if(i.equals(" ")) { System.out.println("输入已结束...等待客户端响应"); pw.close(); ots.close(); bfr.close(); isr.close(); inp.close(); socket1.close(); serverSocket.close(); break; } } }catch(SocketException e) {// e.printStackTrace(); System.out.println("已结束..."); } } }}
//Client.javaimport java.io.*;import java.net.*;public class Client { public static void main(String[] args) { String i; // TODO Auto-generated method stub ServerSocket serverSocket; Socket socket,socket1; PrintWriter pw; BufferedOutputStream bos; OutputStream ots; InputStream is; InputStreamReader isr; BufferedReader br; while(true) { try { while(true) { socket = new Socket("localhost",6666); ots = socket.getOutputStream(); bos = new BufferedOutputStream(ots); pw = new PrintWriter(bos); System.out.println("请输入数据(输入空格+回车结束输入):"); System.out.print(">"); pw.write(i = new BufferedReader(new InputStreamReader(System.in)).readLine()); pw.flush(); socket.shutdownOutput(); if(i.equals(" ")) { System.out.println("输入已结束...等待服务器回复"); //socket.shutdownOutput(); break; } } serverSocket = new ServerSocket(7777); while(true) { socket1 = serverSocket.accept(); is = socket1.getInputStream(); isr = new InputStreamReader(is); br = new BufferedReader(isr); String info = null; if((info = br.readLine())!=null && !info.equals(" ")) { System.out.println("服务器说:" + info); } if(info.equals(" ")) { System.out.println("服务器表示输入已结束..."); br.close(); isr.close(); is.close(); pw.close(); ots.close(); bos.close(); socket.close(); socket1.close(); serverSocket.close(); } } }catch(SocketException e){ System.out.println("已结束..."); //e.printStackTrace(); }catch(IOException e) { //e.printStackTrace(); } } }}
先启动服务器,再启动客户端,然后。。。就能交流了
阅读全文
2 0
- Java——Socket实现服务器与客户端交流
- java socket编程—单客户端与服务器通信
- socket实现服务器与客户端通信
- Java 利用 Socket 实现服务器客户端聊天
- Java Socket编程(服务器与客户端通信)
- Java Socket服务器与客户端实例
- java socket编程(服务器与客户端)
- Linux下网络socket编程——实现服务器(select)与多个客户端通信
- Java 利用套接字Socket实现简单的服务器与客户端通信
- Java实现简单的Socket服务器与客户端字符串通讯(适合初学者阅读)
- Java实现简单的Socket服务器与客户端字符串通讯(适合初学者阅读)
- Java实现简单的Socket服务器与客户端字符串通讯(适合初学者阅读)
- Java Socket应用(六)——服务器响应客户端
- Android客户端与PC服务器实现Socket通信(wifi)
- Android客户端与PC服务器实现Socket通信(wifi)
- Android客户端与PC服务器实现Socket通信(wifi)
- Android客户端与PC服务器实现Socket通信(wifi)
- Android客户端与PC服务器实现Socket通信
- Lucene 7.1如何利用RMI进行远程搜索
- 安卓之自定义按钮(以及shape详解)
- json对象与字符串...的相互转换
- CentOS7 下安装docker-compose
- PHP学习笔记(一)——前言
- Java——Socket实现服务器与客户端交流
- android 分析读取JSON对象
- TypeError: $.cookie is not a function解决方案
- transformDexArchiveWithExternalLibsDexMergerForDebug unable to merge dex 问题
- 第一个C语言编译器是怎么编写的
- java线程学习笔记
- execute immediate的简单用法(oracle)
- 设计模式——观察者模式(Observer)
- sql语句left join和inner join、right join区别