Java tcp服务端与客户端简单案例
2021/8/6 14:05:49
本文主要是介绍Java tcp服务端与客户端简单案例,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
服务段
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.ServerSocket; import java.net.Socket; public class Main { private BufferedReader reader;//流 private ServerSocket server;// private Socket socket;//套接字 void getServer(){//此方法完成服务端的各种必要链接 try { server = new ServerSocket(8997);//实例化Socket对象,并给他个8997端口 System.out.println("服务器套接字创建成功"); while (true){ System.out.println("等待客户端连接"); socket = server.accept(); reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));//实例化BufferedReader对象 getClientMessage();//调用getClientMessage方法 } }catch (Exception e){ e.printStackTrace(); } } private void getClientMessage(){//此方法持续收听客户端信息 try { while (true){ System.out.println("客户机:" + reader.readLine());//获取客户端信息 } }catch (Exception e){ e.printStackTrace(); } try { if (reader != null){ reader.close();//关闭流 } if (socket != null){ socket.close();//关闭套接字 } }catch (IOException e){ e.printStackTrace(); } } public static void main(String[] args) { // write your code here Main ma = new Main(); ma.getServer(); } }
客户端
package com.company; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.PrintWriter; import java.net.Socket; public class users extends JFrame { private PrintWriter writer; Socket socket;//创建字节套对象 private JTextArea ta = new JTextArea(); private JTextField tf = new JTextField(); Container cc; public users(String title){//设置jframe窗体,不是特别重要 super(title); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); cc = this.getContentPane(); final JScrollPane scrollPane = new JScrollPane(); getContentPane().add(scrollPane,BorderLayout.CENTER); scrollPane.setViewportView(ta); cc.add(tf,"South"); tf.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { writer.println(tf.getText());//写入流,服务器那边是读取流 ta.append(tf.getText() + "\n");//把文本框信息写在文本域zon ta.setSelectionEnd(ta.getText().length()); tf.setText(""); } }); } private void connect(){//连接服务端 ta.append("尝试链接\n"); try { socket = new Socket("127.0.0.1",8997);//连接本地服务器,并指定与服务器相同的端口 writer = new PrintWriter(socket.getOutputStream(),true);//打印内容到控制台 ta.append("完成连接\n"); }catch (Exception e){ e.printStackTrace(); } } public static void main(String[] args) { users mm = new users("客户端"); mm.setSize(400,200); mm.setVisible(true); mm.connect(); } }
这篇关于Java tcp服务端与客户端简单案例的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-28知识管理革命:文档软件的新玩法了解一下!
- 2024-11-28低代码应用课程:新手入门全攻略
- 2024-11-28哪些办公软件适合团队协作,且能够清晰记录每个阶段的工作进展?
- 2024-11-28全栈低代码开发课程:零基础入门到初级实战
- 2024-11-28拖动排序课程:轻松掌握课程拖动排序功能
- 2024-11-28如何高效管理数字化转型项目
- 2024-11-28SMART法则好用吗?有哪些项目管理工具辅助实现?
- 2024-11-28深度剖析:6 款办公软件如何构建设计团队项目可视化管理新生态?
- 2024-11-28HTTP缓存课程:新手入门指南
- 2024-11-28实战丨证券 HTAP 混合业务场景的难点问题应对