客户机/服务器一对一通信模型
来源:互联网 发布:淘宝店铺运营推广方案 编辑:程序博客网 时间:2024/05/22 03:47
网络编程实现客户机/服务器一对一通信模型,是在NetBeans IDE上进行操作的
【服务器代码】
package cn.edu.ldu;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.net.InetSocketAddress;import java.net.ServerSocket;import java.net.Socket;import java.net.SocketAddress;public class EchoServer { public static void main(String[] args) throws IOException { ServerSocket listenSocket=null; Socket clientSocket=null;//会话套接字 BufferedReader in=null;//网络输入输出流 BufferedWriter out=null; //1.启动服务器 listenSocket=new ServerSocket(); SocketAddress serverAddr=new InetSocketAddress("localhost",5000); listenSocket.bind(serverAddr); System.out.println("1.服务器启动成功"); //2.接受连接 clientSocket=listenSocket.accept(); System.out.println("2.服务器开始接受客户机链接...远程地址端口" +clientSocket.getRemoteSocketAddress()); //3.创建输入输出流 in=new BufferedReader(new InputStreamReader( clientSocket.getInputStream())); out=new BufferedWriter(new OutputStreamWriter( clientSocket.getOutputStream())); String recvStr=in.readLine();//服务器接收数据 System.out.println("3.1 服务器接收了来自客户机的:"+recvStr); out.write(recvStr); out.newLine(); out.flush(); System.out.println("3.2服务器回送了:"+recvStr); //4.关闭流和套接字 if(in!=null) in.close(); if(out!=null) out.close(); if(clientSocket!=null) clientSocket.close(); if(listenSocket!=null) listenSocket.close(); System.out.println("4.服务器关闭了套接字和流!运行结束"); } }
【客户机代码】
package cn.edu.ldu;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.net.InetSocketAddress;import java.net.ServerSocket;import java.net.Socket;import java.net.SocketAddress;public class EchoClient { public static void main(String[] args) throws IOException { Socket clientSocket=null;//会话套接字 BufferedReader in=null;//网络输入输出流 BufferedWriter out=null; //1.启动客户机会话套接字 clientSocket=new Socket(); SocketAddress remoteAddr=new InetSocketAddress("localhost",5000); System.out.println("1.创建客户机会话套接字成功"); //2.连接服务器 clientSocket.connect(remoteAddr); System.out.println("2.客户机连接服务器成功!本地使用的地址端口:" +clientSocket.getLocalSocketAddress()); //3.创建输入输出流 in=new BufferedReader(new InputStreamReader( clientSocket.getInputStream())); out=new BufferedWriter(new OutputStreamWriter( clientSocket.getOutputStream())); String sendStr="有朋自远方来!"; out.write(sendStr); out.newLine(); out.flush(); System.out.println("3.1客户机发送了:"+sendStr); String recvStr=in.readLine(); System.out.println("3.2 客户机收到了服务器的回送信息:"+recvStr); //4.关闭流和套接字 if(in!=null) in.close(); if(out!=null) out.close(); if(clientSocket!=null) clientSocket.close(); System.out.println("4.服务器关闭了套接字和流!运行结束"); } }
阅读全文
0 0
- 客户机/服务器一对一通信模型
- NIO客户机服务器通信示例
- uc笔记10---网络通信,套接字(Socket),基于 TCP 协议的客户机/服务器模型
- vc学习之服务器客户机通信
- SocketChannel的NIO客户机服务器通信实例
- UDP协议的客户机和服务器通信
- Socket 客户-服务器一对一通信(一)
- Remoting技术初探--实现简单服务器客户机通信
- 使用SocketChannel的NIO客户机服务器通信示例。(转)
- 使用SocketChannel的NIO客户机服务器通信示例
- 使用SocketChannel的NIO客户机服务器通信示例。(转)
- 使用SocketChannel的NIO客户机服务器通信示例。(转)
- 使用SocketChannel的NIO客户机服务器通信示例。(转)
- 客户机-服务器系统通信的三种常用方式
- JAVA 实现 EchoServer EchoClient 服务器、客户机本地通信程序
- 基于TCP网络程序设计(客户机/服务器模式的通信)
- GO语言学习--tcp服务器、客户机的通信
- 使用SocketChannel的NIO客户机服务器通信示例。(转)
- Lua_语句_循环语句_006
- LPC2138综述
- Java POI 设置Excel单元格的宽度和高度
- 算法导论学习笔记17_9_7
- 2017.8.7测试 题四 WJ的逃离
- 客户机/服务器一对一通信模型
- Linux中用Nginx和FTP搭建图片服务器
- LeetCode
- HDU3549 Flow Problem 【网络流E-K算法模板】
- 【14】vue.js — 自定义标签
- 数据库之数据类型
- 陷入迷茫
- python文件传输之粘包问题
- 写在前面