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

📄 client.java

📁 本次project实现如下功能: 写了一个本地的多线程游戏服务器ThreadeEchoServer
💻 JAVA
字号:
//client

import java.io.*; 
import java.net.*; 
import java.awt.*; 
import java.awt.event.*; 

public class client extends Frame implements ActionListener
{
	int i=1;
	Frame f;
	Button connect,exit1;	
	public static void main(String args[])
	{
		client cl = new client();
		cl.init();
	}


	public void init()
	{
		f = new Frame("游戏客户端");
		f.setLayout(new FlowLayout());
	
		connect = new Button("连接");
		exit1 = new Button("退出");		
		connect.addActionListener(this);
		exit1.addActionListener(this);
		f.add(connect);
		f.add(exit1);
		f.setSize(80,70);
		f.setVisible(true);
	}

	public void actionPerformed(ActionEvent e)
	{
		if(e.getSource()==exit1)
			{				
				System.exit(0);
			}
			
		if(e.getSource()==connect)
			{
				new Thread (new threadclient(
					"127.0.0.1",9999,i)).start();
				i++;
			}
	}
}

class threadclient extends Frame implements Runnable,ActionListener
{
	String ip;
	int port,num;
	Frame f1;
	Button llk,ers,exit;
	Socket s;
	InputStream ins;
	PrintStream out1;
	BufferedReader in;
	BufferedWriter out;	
	
	threadclient(String n,int m,int i)	//构造,参数为ip,端口号和客户端号
	{
		ip = n;
		port = m;
		num = i;
	}
	
	public void actionPerformed(ActionEvent e)
	{
		if(e.getSource()==exit)
			{
				out1.println("exitkehu");
				//f1.setVisible(false);
			}
			
		if(e.getSource()==llk)
			{
				out1.println("startllk");				
			}
		if(e.getSource()==ers)
			{
				out1.println("startERS");				
			}
	}
	
	public void run()					//运行
	{
		         	 
         	f1 = new Frame("游戏选择界面");
			f1.setLayout(new FlowLayout());	 
         	llk = new Button(" 连连看 ");
			ers = new Button("俄罗斯方块");	
			exit = new Button("退出");
			llk.addActionListener(this);	
			exit.addActionListener(this);
			ers.addActionListener(this);
			f1.add(llk);
			f1.add(ers);
			f1.add(exit);
			f1.setSize(200,100);
			f1.setVisible(false);		
		
		try
		{
			s = new Socket(ip,port);	//连接			
			
			in = new BufferedReader(new InputStreamReader
									(s.getInputStream()));									
         	out1 = new PrintStream(s.getOutputStream());
         				         	
         	
         	boolean done=false;
         	while(! done)
         	{
         		String str = in.readLine();         		        		        		
         		if(str.trim().equals( "start"))         		
         		done=true;           		        	
         	} 
         	
			f1.setVisible(true);
			
			done=false;
         	while(! done)
         	{
         		String str = in.readLine();   		        		        		
       		
         		if(str.trim().equals( "startllk"))
         		{
	         		lianliankan t=new lianliankan(); 
											//启动连连看			
					t.suiji(); 
					t.go();	  
         		}
         		if(str.trim().equals( "startERS"))
         		{
	         		ERS_Block t = new ERS_Block("俄罗斯方块游戏  V1.0"); 
       				WindowListener win_listener = new WinListener(); 
       				t.addWindowListener(win_listener); 
         		}      
         		if(str.trim().equals( "exit"))         		
         			{f1.setVisible(false);done=true;}      		          		        	
         	} 
			
		}catch(Exception e)
		{
			e.printStackTrace();
		}				 		
	}
}

⌨️ 快捷键说明

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