⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clientwindow.java

📁 实现客户端和服务器端的简单socket通信
💻 JAVA
字号:
import java.io.*;
import java.net.*;
import javax.swing.*;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class ClientWindow extends JFrame implements ActionListener{
	JTextArea textarea;//文本域主窗口
	JPanel panel;
	JTextField textField;//发送框
	JButton  bt;	
	Socket socket;
	InputStream is;
	OutputStream os;
	DataInputStream DIS;
	PrintStream PS;
	String t;
	
	PrintStream out ;
	BufferedReader in;
	ClientWindow(String s){
		super(s);
		//输出窗口
		Container contentPane = getContentPane();
		contentPane.setLayout(new BorderLayout());
		textarea = new JTextArea();
		textarea.setColumns(50);
		textarea.setRows(5);
		textarea.setLineWrap(true);
		textarea.setBackground(Color.white);
		textarea.setEditable(false);
		contentPane.add(new JScrollPane(textarea),BorderLayout.CENTER);
		
		panel = new JPanel();
		textField = new JTextField(10);
		textField.setForeground(Color.blue);
		textField.addActionListener(this);
		bt = new JButton("发送");
		bt.addActionListener(this);
		panel.add(textField);
		panel.add(bt);
	    contentPane.add(panel,BorderLayout.SOUTH);
	    setSize(400,400);
	    setVisible(true);
	    //处理通讯
	    try{	
	    	socket = new Socket("localhost",8094);
	        
	    	 //向主机申请连接
	    	 out = new PrintStream(socket.getOutputStream());
	         in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
	        while(true){
	         // 1. 读取服务器反馈信息。 
	         String x=in.readLine();
	         textarea.append(x+"\n");
	    	}        
	    }
	    catch(Exception e){
			System.out.println("ERROR:"+e);
		}
	}
	public void actionPerformed(ActionEvent e){
   	 if(e.getSource()==bt){
   		 t = textField.getText();
   		 out.println("唐唐说:"+t);//将读取的字符串传给服务器端
   		 textarea.append("唐唐说:"+t+"\n");
   		 textField.setText("");
   		
   	 }	 
    }
}

⌨️ 快捷键说明

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