首页 > 代码库 > 自己用java实现飞鸽传书 1 - 实现通信
自己用java实现飞鸽传书 1 - 实现通信
第一步:
建立服务端客户端,实现端到端通信。因为要传递文件,信号量较大,故使用TCP/IP协议。
服务端和客户端都要建立socket,而后通过socket进行通信。
服务端代码如下:
import java.io.PrintStream;import java.net.ServerSocket;import java.net.Socket;public class Server { public static void main(String[] args){ //创建服务端socket,用以网络信息的接收 ServerSocket serverSocket = null; try { //服务端socket使用本地IP,端口号使用36000 serverSocket = new ServerSocket(36000); //保证服务端持续运行 while(true){ //接收网络信息,未接收到则阻塞当前线程 Socket socket = serverSocket.accept(); //获取服务端输出流 PrintStream ps = new PrintStream(socket.getOutputStream()); //向输出流中追加信息 ps.append("你好,这里是服务端!"); //关闭输出流和socket ps.close(); socket.close(); } } catch (Exception e) { e.printStackTrace(); } }}
客户端代码如下:
import java.io.BufferedReader;import java.io.InputStreamReader;import java.net.Socket;public class Client { public static void main(String[] args){ BufferedReader reader = null; Socket socket = null; try { //创建客户端socket,用以连接服务端 socket = new Socket("127.0.0.1", 36000); //读取服务端传来的字节流 reader = new BufferedReader( new InputStreamReader(socket.getInputStream()) ); //读取字节流中的信息,并以字符串输出 StringBuilder builder = new StringBuilder(); String line; while((line=reader.readLine()) != null){ builder.append(line).append("\n"); } System.out.println(builder.toString()); //关闭reader和socket reader.close(); socket.close(); } catch (Exception e) { e.printStackTrace(); } }}
先运行服务端,再运行客户端,会看到控制台输出预期中的信息:
自己用java实现飞鸽传书 1 - 实现通信
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。