3.Socket单向通信--客户端

来源:互联网 发布:ubuntu openstack安装 编辑:程序博客网 时间:2024/04/29 13:43
<pre name="code" class="java">//*******************************////*2014年7月3日10:33:25*////*本程序主要功能:*////*客户端:*////*将在此端中写入的内容,传输至服务器中*////*******************************//import javax.swing.*;import java.awt.*;import java.io.*;import java.net.*;import javax.swing.border.*;//swing中的边界包,此处用了BevelBorder类import java.awt.event.*;//awt中事件处理包,此处用了ActionEvent和ActionListener类public class TestSocketClient extends JFrame {private PrintWriter writer;//PrintWriter:向文本输出流打印对象的格式化表示形式Socket socket;//创建Socket对象private JTextArea ta = new JTextArea();//定义文本区private JTextField tf = new JTextField();//定义文本字段Container cc;//定义容器public TestSocketClient(String title)//构造方法{super(title);//调用父类的构造方法,设置窗体的标题this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置退出应用程序后的默认窗口关闭操作cc = this.getContentPane();//返回此窗体的 ContentPane 对象(应用多态)final JScrollPane scrollPane = new JScrollPane();//JScrollPane 管理视口、可选的垂直和水平滚动条以及可选的行和列标题视口scrollPane.setBorder(new BevelBorder(BevelBorder.RAISED));//设置此组件的边框,实现简单的双线斜面边框scrollPane.setViewportView(ta);//创建一个视口并设置其视图cc.add(ta,"North");//将类JTextArea变量ta加入至面板上方(北部)cc.add(tf,"South");//将类JTextField变量tf加入至面板下方(南部)tf.addActionListener//添加指定的操作侦听器以从此文本字段接收操作事件(new ActionListener()//添加用于接收操作事件的侦听器接口{public void actionPerformed(ActionEvent e)//参数:指示发生了组件定义的动作的语义事件{writer.println(tf.getText());//获取文本字段(tf.getText())的内容,将其输出ta.append(tf.getText() + '\n');//ta.setSelectionEnd(ta.getText().length());//将选择结束点设置为指定的位置,新的结束点限制在当前选定开始位置处或之后。tf.setText("");//将此文本设置为指定文本}});}private void connect(){ta.append("try to connect");//在文本区将给定文本追加到文本区的当前文本try{socket = new Socket("192.168.1.15",8902);//设置服务器的IP地址和端口Portwriter = new PrintWriter(socket.getOutputStream(),true);//向文本输出流打印对象的格式化表示形式,返回此套接字的输出流ta.append("connect completely");//在文本区将给定文本追加到文本区的当前文本}catch(Exception e){e.printStackTrace();}}public static void main(String[] args) {// TODO 自动生成的方法存根TestSocketClient client = new TestSocketClient("set data to server");//定义并初始化本类client.setSize(200,200);client.setVisible(true);//设置可见性client.connect();//调用客户端连接方法}}


                                             
0 0
原创粉丝点击