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

📄 serverwindow.java

📁 实现客户端和服务器端的简单socket通信
💻 JAVA
字号:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;
public class ServerWindow extends JFrame implements ActionListener{
	
	JTextArea textarea;
	JPanel panel;
	JTextField textField;
	JButton  bt;

       //服务器端套接字
	 ServerSocket server ;
	//客户端套接字
	 Socket client;
	 String t;
	 String s;
	 PrintStream out;
	 BufferedReader in;
	 int i=1 ;
	 
        ServerWindow(String s)throws IOException{
		super(s);
		Container contentPane = getContentPane();
		contentPane.setLayout(new BorderLayout());
		textarea = new JTextArea();
		textarea.setColumns(50);
		textarea.setRows(5);
		textarea.setLineWrap(true);
		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);
	      server = new ServerSocket(8094);
		try{
			 client=server.accept();
			 out = new PrintStream(client.getOutputStream());
			 in  = new BufferedReader(new InputStreamReader(client.getInputStream()));
			 textarea.append("Server ok"+"\n");
			 String ip=client.getInetAddress().toString();//获取客户端的IP地址
			 out.println("恭喜连接成功!您的IP为:"+ip+"\n");
			 while(true){ 
			  t = in.readLine();
			  textarea.append(t+"\n");
		   }
		}
		catch(Exception e){
			System.out.println("ERROR:"+e);
		}	
	}
     public void actionPerformed(ActionEvent e){
    	 if(e.getSource()==bt){
    		 s = textField.getText();
    		 textarea.append("服务器说:"+s+"\n");
    		 textField.setText("");
    		 out.println("服务器说:"+s);//将读取的字符串传给客户端	
    	 }	 
     }
}
     
     
     
     
     
     
     

⌨️ 快捷键说明

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