socketclientqq.java.bak

来自「利用 java socket 实现网络通信,实现进程与进程之间的通信.」· BAK 代码 · 共 60 行

BAK
60
字号
//客户端程序
import java.io.*;
import java.net.*;
import java.awt.*;
import java.awt.event.*;
public class SocketClientQQ extends Frame implements ActionListener
{ Label label=new Label("输入聊天信息");
TextField tf= new TextField(20);
TextArea ta=new TextArea( );
Panel panel=new Panel( );//创建面板对象
Socket Client;
InputStream DataIn;
OutputStream DataOut;
public SocketClientQQ( )
{ super("于会涛的聊天室--客户机");
    setSize(300,180);
    panel.add(label);//在面板上添加标签
    panel.add(tf);//在面板上添加文本框
    tf.addActionListener(this);//注册
    add("North",panel);//在窗体上添加面板
    add("Center",ta);//在窗体上添加文本区
    addWindowListener(new WindowAdapter( )
    { public void windowClosing(WindowEvent e)
    { System.exit(0);}});
    show( );
    try
    { Client=new Socket(InetAddress.getLocalHost( ),8888);
        ta.append("已经和土豆连接:"+Client.getInetAddress( ).getHostName( )+"\n\n");
        DataIn=Client.getInputStream( );
        DataOut=Client.getOutputStream( ); 
    }
    catch(IOException ioe){ }
    while(true)
    {
    try{
       byte buff[ ]=new byte[512];//缓冲数组
       DataIn.read(buff);
       String str=new String(buff);//接受客户端发送的数据包
       ta.append("地瓜说:"+str+"\n");
    }
    catch(IOException ioe){ }
    }
    }
    public static void main(String args[ ])
    {
    new SocketClientQQ( );
    }
    public void actionPerformed(ActionEvent e)//事件处理程序
    {
    try 
       {
       String str=new String(tf.getText());
       byte buf[ ]=str.getBytes( );
       tf.setText(" ");
       DataOut.write(buf);
       ta.append("土豆说:"+str+"\n");
    }
       catch(IOException ioe){ }
    }
    }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?