clientserver.java

来自「递归子程序法:对应每个非终结符语法单元编一个独立的处理过程(或子程序)。语法分析」· Java 代码 · 共 56 行

JAVA
56
字号
	/** 
	 * Java语言实验参考程序
	 * Company 北京师范大学计算机系 
	 * @author 孙一林
	 * @version 1.0
	 */
	import java.io.*;
	import java.net.*;
	public class ClientServer {					// 定义ClientServer类
	  public ClientServer() {					// 定义ClientServer构造方法
		new Thread(new MyServer()).start();		// 创建并启动服务器端线程
		new Thread(new MyClient()).start();		// 创建并启动客户机端线程
	  }
	  public static void main(String args[]){	// 定义main方法
		new ClientServer();
	  }
	}
	class MyServer implements Runnable{			// 定义动服务器端线程类
	  public void run() {						// 定义线程执行方法
		ServerSocket server = null;
		Socket serverSocket = null;
		OutputStream os = null;
		try{
		  server = new ServerSocket(88,16);		// 在端口88建立套接字
		  serverSocket = server.accept();
		  System.out.println( "Connect on the Server side!" );
		  os = serverSocket.getOutputStream();
		  os.write( 50 );						// 写数据
		  server.close();
		}
		catch( IOException e ) {
		  System.out.println( "Caught Exception: " + e );
		}
	  }
	}
	class MyClient implements Runnable{			// 定义动客户机端线程类
	  public void run() {						// 线程执行方法
		Socket clientSocket = null;
		InputStream is = null;
		try{
		  clientSocket = new Socket( InetAddress.getLocalHost(),88 );
												// 获取同一台计算机的IP地址
		  is = clientSocket.getInputStream();
		  System.out.println( "Client reads: " + is.read() ); // 读数据
		  clientSocket.close();
		}
		catch( UnknownHostException e ) {
		  System.out.println( "Caught Exception: " + e );
		}
		catch( IOException e ) {
		  System.out.println( "Caught Exception: " + e );
		}
	  }
	}

⌨️ 快捷键说明

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