已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
服务器端状态: 客户端状态: 下面是通信过程: (附源程序代码) import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintStream; import .ServerSocket; import .Socket; public class SimpleServer /* * param 潇水 */ ServerSocket sever = null;/ 服务器的监听socket Socket client = null;/ 客户端 BufferedReader in = null;/ 输入流 PrintStream out = null;/ 输出流 SimpleServer(int port) System.out.println(“服务器端正在监听,端口:“ + port); try sever = new ServerSocket(port); catch (IOException e) System.out.println(“服务器端口“ + port + “连接失败。“); try client = sever.accept();/ 接收连接请求 catch (IOException e) System.out.println(“连接失败!“); try in = new BufferedReader(new InputStreamReader( client.getInputStream();/ 获得输出流 out = new PrintStream(client.getOutputStream(); catch (IOException e) / 收到客户端请求 public String getRequest() String frm = null; try frm = in.readLine();/ 以行为单位获取信息 System.out.println(“Server收到请求: “ + frm); catch (IOException e) System.out.println(“无法读取端口“); System.exit(0); return frm; / 发送响应给客户端 public void sendReply(String reply) try out.println(reply);/ 往客户端输出流写出数据 System.out.println(“server回复请求: “ + reply); catch (Exception e) System.out.println(“发送失败“); System.exit(0); public static void main(String args) / TODO Auto-generated method stub SimpleServer sev = new SimpleServer(8000); while (true) / 读取客户端的输入流并返回给客户端 sev.sendReply(sev.getRequest(); /客户端代码 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintStream; import .Socket; public class SimpleCilent /* * param 潇水 * 客户端模式 */ PrintStream out;/ 输出流 BufferedReader in;/ 输入流 public SimpleCilent(String servername, int port) try / 根据服务器名和端口号,连接服务器 Socket clientsocket = new Socket(servername, port); / 获取socket输入输出流 out = new PrintStream(clientsocket.getOutputStream(); in = new BufferedReader(new InputStreamReader( clientsocket.getInputStream(); catch (Exception e) System.out.println(“连接服务器失败.“); / 发送请求消息 public void sendReply(String reply) out.println(reply); System.out.println(“Client客户端发送请求为:“ + reply); / 收到服务端请求 public String getResponse() String str = null ; try str = in.readLine(); System.out.println(“Client收到Server的回复信息为:“ + str); catch (IOException e) System.out.println(“没有收到输入“); return str; /图形界面 import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; public class clientFrame extends JFrame implements ActionListener /* * */ private static final long serialVersionUID = 1L; /* * param 潇水 */ JButton sendbtn; JTextField jtf; JTextArea jta; SimpleCilent client; clientFrame() JLabel jlab1 = new JLabel(“输入发送的信息:“); jtf = new JTextField(20); JPanel jp1 = new JPanel(); jp1.add(jlab1); jp1.add(jtf); JLabel jlab2 = new JLabel(“服务器返回的信息:“); jta = new JTextArea(6, 20); JScrollPane crollPanel=new JScrollPane(jta); JPanel jp2 = new JPanel(); jp2.setLayout(new BorderLayout(); jp2.add(jlab2, BorderLayout.NORTH); jp2.add(crollPanel, BorderLayout.CENTER); sendbtn = new JButton(“发送“); sendbtn.addActionListener(this); JPanel jp=new JPanel(); jp.setLayout(new BorderLayout(); jp.add(jp1,BorderLayout.NORTH); jp.add(sendbtn,BorderLayout.CENTER); jp.add(jp2,BorderLayout.PAGE_END); setTitle(“Socket界面“); this.getContentPane().add(jp); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Override public void actionPerformed(ActionEvent e) / TODO Auto-generated method stub if(e.getSource()=sendbtn) try client.sendReply(jtf.getText();/ 获取发送文本中的信息 catch (Exception ex) / 接受服务器回应并写入文本域 jta.append(client.getResponse()+“n“); public static void main(String args) /
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 36665-2026船舶与海上技术船舶系泊和拖带设备十字带缆桩
- GB/T 9239.1-2026机械振动转子平衡第1部分:引言
- 磁法勘探工冲突解决竞赛考核试卷含答案
- 布艺工岗前管理综合考核试卷含答案
- 飞机铅锌模工岗前基础理论考核试卷含答案
- 戏服制作工变革管理测试考核试卷含答案
- 飞机数字化装配工安全理论评优考核试卷含答案
- 质检员岗前工作合规考核试卷含答案
- 裁边拉毛工纪律竞赛考核试卷含答案
- 饲料配方师岗位实践综合考核试卷含答案
- ISO 17987-7-2025 中文版 道路车辆 LIN 总线 物理层一致性测试规范
- 2026秋人教版小学数学三年级上册(新教材)教学计划含教学进度表
- 2026营销技巧面试题及答案
- 2026广东广州市南沙区黄阁镇人民政府招聘编外工作人员10人笔试参考题库及答案详解
- 2026年秋季学期苏科版四年级上册信息科技教学计划
- 2026年国防知识竞赛题库及答案(共80题)
- 河南省2026年中考数学试卷(含答案)
- 2026年广东省中考地理真题及答案解析
- 肿瘤患者的活动与运动指导
- T∕CCEAS008-2026 建设工程造价咨询成果文件质量标准
- 启智润心安全成长-2026年五年级秋季开学第一课
评论
0/150
提交评论