c/s模式下,我们需要建立一个服务端,来让客户端进行链接,并实现相应的一些功能。
比如,可以看到代码中的test1方法,实现了一个服务端。
我们可以用telnet来连接,该服务端。
(关于如何安装windows的telnet可以查看在本博客的附记,linux则自带telnet)
在命令行下,输入 telnet IP(服务端的ip地址) port(服务端开启的端口)
可以看到,已通过telnet连接上了服务端,输入hellow world,就可以看到服务端的控制台上,输出相应的内容。
同样的,方法test2,test3,test4创建了相应的服务器,通过telnet连接上了服务端,实现了相应的功能。
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;
import java.io.File;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.PrintWriter;
import java.io.IOException;
/**
* Description:
* 实现利用ServerSocket实现一个服务端
* @author shenjun
* */
public class ServerSocketDemo {
/**
* Description:
* 实现一个服务端,用来获得客户端的输入流,并且输出在服务端的控制台上。
* */
public static void test1(){
try{
//用指定的端口来建立一个服务端
ServerSocket server = new ServerSocket(12000);
//The method blocks until a connection is made
//获取一个客户端实例
Socket client = server.accept();
//获取用户iP地址
System.out.println(server.getInetAddress());
//获取远程用户连接端口和当前连接端口
System.out.println(client.getPort()+" "+client.getLocalPort());
//获取客户端的输入流,并将其输入在控制台上
InputStream clientInput = client.getInputStream();
Scanner sc = new Scanner(clientI