简单的socket通讯方法客户端和服务器端
来源:互联网 发布:实况8修改球员数据 编辑:程序博客网 时间:2024/06/06 00:45
客户端
package socket;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.Socket;public class ClientTCP {// 搭建客户端 public static void main(String[] args) throws IOException { try { // 1、创建客户端Socket,指定服务器地址和端口 Socket socket=new Socket("127.0.0.1",5200);//Socket socket = new Socket("10.0.150.110", 5200); System.out.println("客户端启动成功"); // 2、向服务器端发送信息 // 向服务器的5200端口发出请求 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); // 构造BufferedReader对象,创建标准输入 PrintWriter write = new PrintWriter(socket.getOutputStream()); // 由Socket对象得到输出流 //3、获取输入流,并读取服务器端的信息 BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream())); // 由Socket对象得到输入流 String readline; readline = br.readLine(); // 读入一字符串 while (!readline.equals("end")) { // 读入的字符串为 "end"则停止循环 write.println(readline); // 将入读入的字符串输出到Server write.flush(); // 刷新输出流,使Server马上收到该字符串 System.out.println("Client:" + readline); // 在系统标准输出上打印读入的字符串 System.out.println("Server:" + in.readLine()); // 从Server读入一字符串,并打印到标准输出上 readline = br.readLine(); // 从系统标准输入读入一字符串 } // 继续循环 //4、关闭资源 write.close(); // 关闭Socket输出流 in.close(); // 关闭Socket输入流 socket.close(); // 关闭Socket } catch (Exception e) { System.out.println("can not listen to:" + e);// 打印错误信息 } }}
服务器端
package socket;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.ServerSocket;import java.net.Socket;public class ServerTCP {//搭建服务器端 public static void main(String[] args) throws IOException{ SocketService socketService = new SocketService(); //创建一个服务器端Socket,即SocketService socketService.oneServer(); } public void oneServer(){ try{ ServerSocket server=null; try{ server=new ServerSocket(5200); //指定绑定的端口,并监听此端口。 System.out.println("服务器启动成功"); //创建一个ServerSocket在端口5209监听客户请求 }catch(Exception e) { System.out.println("没有启动监听:"+e); //出错,打印出错信息 } Socket socket=null; try{ socket=server.accept(); //调用accept()方法开始监听,等待客户端的连接 //使用accept()阻塞等待客户请求,有客户 //请求到来则产生一个Socket对象,并继续执行 }catch(Exception e) { System.out.println("Error."+e); //出错,打印出错信息 } //获取输入流,并读取客户端信息 String line; BufferedReader in=new BufferedReader(new InputStreamReader(socket.getInputStream())); //由Socket对象得到输入流,并构造相应的BufferedReader对象 PrintWriter writer=new PrintWriter(socket.getOutputStream()); //由Socket对象得到输出流,并构造PrintWriter对象 BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); //由系统标准输入设备构造BufferedReader对象 System.out.println("Client:"+in.readLine()); //在标准输出上打印从客户端读入的字符串 line=br.readLine(); //从标准输入读入一字符串 //获取输出流,响应客户端的请求 while(!line.equals("end")){ //如果该字符串为 "bye",则停止循环 writer.println(line); //向客户端输出该字符串 writer.flush(); //刷新输出流,使Client马上收到该字符串 System.out.println("Server:"+line); //在系统标准输出上打印读入的字符串 System.out.println("Client:"+in.readLine()); //从Client读入一字符串,并打印到标准输出上 line=br.readLine(); //从系统标准输入读入一字符串 } //继续循环 writer.close(); //关闭Socket输出流 in.close(); //关闭Socket输入流 socket.close(); //关闭Socket server.close(); //关闭ServerSocket }catch(Exception e) {//出错,打印出错信息 System.out.println("Error."+e); } }}
阅读全文
0 0
- 简单的socket通讯方法客户端和服务器端
- 直播项目,在线聊天功能--socket实现客户端和服务器端通讯的简单案例
- ios socket编程的客户端和服务器端通信简单实例
- Socket 服务器端和客户端简单对话
- C#线程池多线程Socket通讯 服务器端和客户端示例
- Java中使用Socket实现服务器端和客户端通讯
- Java Socket 模拟客户端与服务器端通讯
- Java 简单的Socket通讯的服务器端实现
- 实现服务器端和客户端的Socket通信
- VC写的socket程序实现一个简单Echo服务器端和客户端程序
- Android 使用socket 实现简单的客户端和服务器端互相通信
- 利用原始socket简单实现FTP的客户端和服务器端程序
- Socket通信 客户端和服务器端的通信 客户端
- node.js服务端和QT客户端简单Socket通讯
- wcf客户端和服务器端的简单通信
- java Socket客户端和服务器端
- socket编程,实现简单的客户端服务器端发送数据
- Java Socket 客户端与服务器端的简单交互
- react 入门-JSX
- 高德地图
- 小程序在4,5线城市的巨大机会,县,乡,镇怎么利用小程序
- centos7自带数据库MariaDB重启和修改密码
- Spark ML 之 RDD to DataFrame (python版)
- 简单的socket通讯方法客户端和服务器端
- 【学习笔记】CSDN MarkDown语法之一:基础特性
- 使用google.zxing jar包生成微信支付二维码在linux上显示不出来
- 关于Jenkins Publish HTML Reporter
- vue平滑滚动到顶部
- Java 数组删除元素
- 逻辑没错但是报:Cannot call sendRedirect() after the response has been committed/HTTP Status 405
- [链表]-反转单向和双向链表
- SpingBoot-HelloWorld创建