案例一:客户端与服务器端互发信息(半双工通讯)
客户端与服务器端互发信息(半双工通讯):
服务器端代码:
/** * 这是第一个服务器段程序,让它在9999端口监听 * 可以接收客户端发来的信息 * */ package com.xiangqiao123.test1; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; public class MyServer { public MyServer () { try { //在9999端口监听 ServerSocket ss=new ServerSocket(9999); //等待某个客户端来连接,返回一个socket链接 Socket s=ss.accept(); //读取s中的数据 InputStreamReader isr=new InputStreamReader(s.getInputStream()); BufferedReader br=new BufferedReader(isr); String accept=br.readLine(); System.out.println("服务器接收到的消息:"+accept); //向客户端回送数据 PrintWriter pw=new PrintWriter(s.getOutputStream(),true); pw.println("你好客户端,我是服务器"); } catch (Exception e) { // TODO: handle exception } } public static void main(String[] args) { new MyServer(); } }客户端代码:
/** * 这是第一个客户端程序,可以与服务器互通消息 */ package com.xiangqiao.test1; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.Socket; public class MyClient { public MyClient() { try { //socket就是连接服务器端,9999是端口号 Socket s=new Socket("127.0.0.1", 9999); //如果s链接成功就可以向服务器发送数据 //通过pw想s中写数据 PrintWriter pw=new PrintWriter(s.getOutputStream(),true); pw.println("你好服务器,我是客户端"); //客户端读取服务器的回送消息 InputStreamReader isr=new InputStreamReader(s.getInputStream()); BufferedReader br=new BufferedReader(isr); String response=br.readLine(); System.out.println("客户端接收到的消息:"+response); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void main(String[] args) { // TODO Auto-generated method stub new MyClient(); } }源码下载:
欢迎大家关注我的博客,有什么问题可以评论,也可以加入我的:151648295 希望大家一起进步。
我的博客更新很快的哦,这次十月一假期我将给大家分享一个j2se的项目,“制作山寨版qq”,欢迎大家一起关注啊。