Java中使用Socket实现服务器端和客户端通讯
来源:互联网 发布:如何清空数据库 编辑:程序博客网 时间:2024/05/16 14:37
创建服务器端serverSocket
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.PrintWriter;import java.net.ServerSocket;import java.net.Socket;/** * 服务端 * @author Administrator * */public class Server { public static void main(String[] args) throws IOException { //创建一个服务器端socket,指定绑定的端口号,并监听此端口 ServerSocket serverSocket = new ServerSocket(8888); //调用accept()方法开始监听,等待客户端的连接 System.out.println("**********服务器即将启动,等待客户端的连接*************"); Socket socket = serverSocket.accept(); //获取输入流,并读取客户端信息 InputStream inp = socket.getInputStream(); //把字节流转换成字符流 InputStreamReader isr = new InputStreamReader(inp); //为字符流增加缓冲区 BufferedReader bfr = new BufferedReader(isr); String info = null; while((info=bfr.readLine())!=null){//循环读取数据 System.out.println("我是服务器,客户端说:"+info); } socket.shutdownInput();//关闭输入流 //向客户端传递的信息 OutputStream ots = socket.getOutputStream(); PrintWriter pw = new PrintWriter(ots); pw.write("欢迎登陆"); pw.flush(); //关闭资源 pw.close(); ots.close(); bfr.close(); isr.close(); inp.close(); socket.close(); serverSocket.close(); } }
创建客户端socket
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.PrintWriter;import java.net.Socket;import java.net.UnknownHostException;/** * 客户端 * @author Administrator * */public class Client { public static void main(String[] args) { try { //创建一个客户端socket Socket socket = new Socket("localhost",8888); //向服务器端传递信息 OutputStream ots = socket.getOutputStream(); PrintWriter pw = new PrintWriter(ots); pw.write("用户名:admin;密码:123"); pw.flush(); //关闭输出流 socket.shutdownOutput(); //获取服务器端传递的数据 InputStream is = socket.getInputStream(); InputStreamReader isr = new InputStreamReader(is); BufferedReader br = new BufferedReader(isr); String info = null; while((info=br.readLine())!=null){ System.out.println("我是客户端,服务器说:"+info); } //关闭资源 br.close(); isr.close(); is.close(); pw.close(); ots.close(); socket.close(); } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
先启动服务器端,再启动客户端
服务器端打印结果为
**********服务器即将启动,等待客户端的连接*************我是服务器,客户端说:用户名:admin;密码:123
客户端打印结果
我是客户端,服务器说:欢迎登陆
博文转自:http://www.cnblogs.com/jpwz/p/5695093.html
阅读全文
0 0
- Java中使用Socket实现服务器端和客户端通讯
- Java Socket 模拟客户端与服务器端通讯
- Android中使用Socket来实现服务器端和客户端,进行数据通信(使用原生Socket)
- java Socket客户端和服务器端
- Android 中使用Socket来实现客户端和服务器端(使用MINA框架)
- 【java】:java socket编程实现服务器端和客户端
- java-基本的Socket编程-实现服务器端和客户端通信
- 直播项目,在线聊天功能--socket实现客户端和服务器端通讯的简单案例
- C#线程池多线程Socket通讯 服务器端和客户端示例
- 简单的socket通讯方法客户端和服务器端
- 实现服务器端和客户端的Socket通信
- 【Java Socket】入门系列 3.2.编程实现基于 TCP 的 Socket 通信 — 服务器端和客户端
- Java 简单的Socket通讯的服务器端实现
- 上机题目(初级)- Java网络操作-Socket实现客户端和服务器端通信(Java)
- 上机题目(初级)- Java网络操作-Socket实现客户端和服务器端通信二(Java)
- 在JAVA中使用Socket和C#通讯的解决
- 在JAVA中使用Socket和C#通讯的解决
- Android 使用socket 实现简单的客户端和服务器端互相通信
- 修改主题和样式
- Log4j的知识点以及相关报错问题解决办法
- dubbo+zookeeper
- 简单的项目上线shell脚本
- 转载-python若干小函数的使用
- Java中使用Socket实现服务器端和客户端通讯
- 要求有一个abstract类,类名为Employee
- 我的js无限级下拉列表级联插件
- 2017.11.6总结
- node获取访问的当前的完成的url
- Recall/Precision/FPPI评价方式详解
- SQL in与exists区别
- MFC基于select模型的套接字类之服务器(5)
- 机器学习基础——矩阵