利用Socket编程制作一个面向多用户的C/S应用程序。其中,Client端为GUI程序,用于提供界面输入两个数,并有一个“发送”按钮,另外还有一个 TextField用于显示传来的计算结果;Server端用于监听多个用户的连接请求、计算发送过来的两数的和并送回数据结果。

解决方案 »

  1.   

    我现在只能作出客户端的界面 谁能帮我完成下后面的代码哦 万分感谢啊
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.io.*;
    import java.net.*;
    public class Client extends JFrame implements ActionListener { /**
     * @param args
     */
    //定义属性值
        int width=Toolkit.getDefaultToolkit().getScreenSize().width;
    int height=Toolkit.getDefaultToolkit().getScreenSize().height;
    BorderLayout f=new BorderLayout();
    JTextField txt1=new JTextField();
    JLabel lab=new JLabel("+");
    JLabel lab2=new JLabel("=");
    JTextField txt2=new JTextField();
    JButton cbd=new JButton("发送");
    JTextField txt3=new JTextField();
    JPanel p=new JPanel();
    Socket client=null;
    BufferedReader in=null;
    //定义构造方法
    public Client(){
    jfinit();
    }
    public void jfinit(){
    new JFrame("通信客户端");
    this.setLayout(f);
    p.setVisible(true);
    txt1.setColumns(8);
    txt2.setColumns(8);
    cbd.addActionListener(this);
    //cbd.setFont(font)
    txt3.setColumns(8);
    this.add(p,BorderLayout.NORTH);
    p.add(txt1);
    p.add(lab);
    p.add(txt2);
    p.add(lab2);
    this.add(cbd,"Center");
    p.add(txt3);
    this.setSize(400,100);
    this.setLocation((width-400)/2,(height-300)/2);
    this.setVisible(true);
    this.setResizable(false);   
    }
    public void actionPerformed(ActionEvent e){ 

      /* client=new Socket("localhost",9999);
       in=new BufferedReader(new InputStreamReader(client.getInputStream()));
       
       txt3.setText(in.readLine());*/现在不知道socket类该往哪儿写了
       }
      
    }
      

  2.   

      下面的代码可以测试我的界面
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.io.*;
    import java.net.*;
    public class SocketClient1 { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
                new SocketClient1();
    }
         
    }
    //编写GUI界面代码
    class MainFrame extends JFrame implements ActionListener{
        //设置属性值
        int width=Toolkit.getDefaultToolkit().getScreenSize().width;
    int height=Toolkit.getDefaultToolkit().getScreenSize().height;
    BorderLayout f=new BorderLayout();
    JTextField txt1=new JTextField();
    JLabel lab=new JLabel("+");
    JLabel lab2=new JLabel("=");
    JTextField txt2=new JTextField();
    JButton cbd=new JButton("发送");
    JTextField txt3=new JTextField();
    JPanel p=new JPanel();
    //定义构造方法
    public MainFrame(){
    super("通信客户端");
    this.setLayout(f);
    p.setVisible(true);
    txt1.setColumns(8);
    txt2.setColumns(8);
    cbd.addActionListener(this);
    //cbd.setFont(font)
    txt3.setColumns(8);
    this.add(p,BorderLayout.NORTH);
    p.add(txt1);
    p.add(lab);
    p.add(txt2);
    p.add(lab2);
    this.add(cbd,"Center");
    p.add(txt3);
    this.setSize(400,100);
    this.setLocation((width-400)/2,(height-300)/2);
    this.setVisible(true);
    this.setResizable(false);   
    }
    public void actionPerformed(ActionEvent e){
       
    }
    }
      

  3.   

    这几天正在学习nio,应该很容易实现这个服务端,google一下
      

  4.   

    不会啊  google不出来哦  帮帮忙哦 只要能帮我实现客户端与服务端的设计要求就好了