本文介绍一种用Java的Socket和ServerSocket实现服务器和客户机通讯的的方法。原理是在服务器端建立ServerSocket端口并监听,接收到客户端的连接请求时建立Socket,得到Socket的输入输出流。在客户端新建Socket并获得输入输出流。服务器和客户端的输入输出流建立后使用writeLine()和println()方法彼此发送和接收数据。为提高代码效率,建立两个类clientAgent和serverAgent。
一、 客户端图形界面 本例中客户端的图形界面用Swing实现,服务器端不使用图形界面
public class javaClient extends JFrame implements ActionListener//以JFrame为基类,实现ActionListener接口 { JButton sendButton; //"发送"按钮 JTextField inputField; // 输入框 JTextArea outputAera; // 服务器返回框 public javaClient() //在建构函数中完成图形界面的初始化 { inputField=new JTextField("这里输入..."); //供客户端输入的文本框 outputArea=new JTextArea("服务器返回"); //显示服务器返回数据的文本域 sendButton=new JButton("发送"); JPanel panel=new JPanel(); //新建面板 panel.setLayout(new BorderLayout()); //设置面板风格为BorderLayout panel.add(inputField,BorderLayout.NORTH); //放置控件 panel.add(outputArea,BorderLayout.CENTER); setTitle("Java通讯客户端"); setContentPane(panel); } } |