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

<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地址和端口Port
			writer = 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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值