java socket编程面试题

学人智库 时间:2018-01-13 我要投稿
【www.unjs.com - 学人智库】

总结:

1) 建立Socket连接

2) 获得输入/输出流

3)读/写数据

4) 关闭输入/输出流

5) 关闭Socket

1. 编写一个网络应用程序,有客户端与服务器端,客户端向服务器端发送一个字符串,服务器收到该字符串后将其打印到命令行上,然后向客户端返回该字符串的长度,最后,客户端输出服务器端返回的该字符串的长度。

SockectServerTest

Java代码

import java.io.InputStream;  

import java.io.OutputStream;  

import java.net.ServerSocket;  

import java.net.Socket;  

  

  

public class SocketServerTest  

{  

      

      

    public static void main(String[] args) throws Exception  

    {  

        ServerSocket ss = new ServerSocket(9999);  

        Socket socket = ss.accept();  

          

        InputStream is = socket.getInputStream();  

        OutputStream os = socket.getOutputStream();  

          

        byte[] buffer = new byte[100];  

          

        int length = is.read(buffer);  

          

        String content = new String(buffer,0,length);  

          

        System.out.println("read from client:" + content);  

          

        int strLength = content.length();  

          

        String str = String.valueOf(strLength);  

          

        os.write(str.getBytes());  

          

        is.close();  

        os.close();  

        socket.close();  

    }  

}  

   

import java.io.InputStream;

import java.io.OutputStream;

import java.net.ServerSocket;

import java.net.Socket;

public class SocketServerTest

{

public static void main(String[] args) throws Exception

{

ServerSocket ss = new ServerSocket(9999);

Socket socket = ss.accept();

InputStream is = socket.getInputStream();

OutputStream os = socket.getOutputStream();

byte[] buffer = new byte[100];

int length = is.read(buffer);

String content = new String(buffer,0,length);

System.out.println("read from client:" + content);

int strLength = content.length();

String str = String.valueOf(strLength);

os.write(str.getBytes());

is.close();

os.close();

socket.close();

}

}

ClientTest

Java代码

import java.io.InputStream;  

import java.io.OutputStream;  

import java.net.Socket;  

  

public class ClientTest  

{  

  

    public static void main(String[] args) throws Exception  

    {  

        Socket socket = new Socket("localhost",9999);  

          

        InputStream is = socket.getInputStream();  

          

        OutputStream os = socket.getOutputStream();  

          

        String content = "This comes from client";  

        os.write(content.getBytes());  

          

          

        byte[] b = new byte[100];  

        int length = is.read(b);  

        String str = new String(b,0,length);  

        System.out.println("string's  length:" + str);  

          

        is.close();  

        os.close();  

        socket.close();  

    }  

  

}  

import java.io.InputStream;

import java.io.OutputStream;

import java.net.Socket;

public class ClientTest

{

public static void main(String[] args) throws Exception

{

Socket socket = new Socket("localhost",9999);

InputStream is = socket.getInputStream();

OutputStream os = socket.getOutputStream();

String content = "This comes from client";

os.write(content.getBytes());

byte[] b = new byte[100];

int length = is.read(b);

String str = new String(b,0,length);

System.out.println("string's length:" + str);

is.close();

os.close();

socket.close();

}

}

[java socket编程面试题]