socket經典案例-發送數據

一:客戶端向服務端發送數據。java

服務端:socket

package com.company.s;

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;

public class Server {
    public static void main(String[] args)  throws IOException{
        char[] charArray=new char[3];
        ServerSocket serverSocket=new ServerSocket(8088);
        System.out.println("accept begin="+System.currentTimeMillis());
        Socket socket=serverSocket.accept();
        System.out.println("accept end="+System.currentTimeMillis());
        InputStream inputStream=socket.getInputStream();
        InputStreamReader inputStreamReader=new InputStreamReader(inputStream);
        System.out.println("read begin "+System.currentTimeMillis());
        int readLength=inputStreamReader.read(charArray);//阻塞
        while (readLength!=-1){
            String newString=new String(charArray,0,readLength);
            System.out.println(newString);
            readLength=inputStreamReader.read(charArray);
        }
        System.out.println("read end "+System.currentTimeMillis());
        inputStream.close();
        socket.close();
        serverSocket.close();
    }
}

2.客戶端代碼:spa

package com.company.s;

import java.io.OutputStream;
import java.net.Socket;

public class Client {
    public static void main(String[] args) throws Exception{
        System.out.println("socket begin "+System.currentTimeMillis());
        Socket socket=new Socket("localhost",8088);
        System.out.println("socket end "+System.currentTimeMillis());
        Thread.sleep(3000);
        OutputStream outputStream=socket.getOutputStream();
        outputStream.write("我是中國人".getBytes());
        outputStream.close();
        socket.close();
    }
}

 二:服務端向客戶端發送數據.net

1.server.javacode

package com.company.s;

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;

public class Server {
    public static void main(String[] args)  throws IOException{
        ServerSocket serverSocket=new ServerSocket(8088);
        System.out.println("accept begin="+System.currentTimeMillis());
        Socket socket=serverSocket.accept();
        System.out.println("accept end="+System.currentTimeMillis());
       OutputStream outputStream=socket.getOutputStream();
       outputStream.write("我是思思博士".getBytes());
       outputStream.close();
       socket.close();
       serverSocket.close();
    }
}

2.客戶端代碼:server

package com.company.s;


import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.Socket;

public class Client {
    public static void main(String[] args) throws Exception{
        System.out.println("socket begin "+System.currentTimeMillis());
        Socket socket=new Socket("localhost",8088);
        System.out.println("socket end "+System.currentTimeMillis());
        char[] charBuffer=new char[3];
        InputStream inputStream=socket.getInputStream();
        InputStreamReader inputStreamReader=new InputStreamReader(inputStream);
        System.out.println("serverB begin "+System.currentTimeMillis());
        int readLength=inputStreamReader.read(charBuffer);
        System.out.println("serverB end "+System.currentTimeMillis());
        while (readLength!=-1){
            System.out.println(new String(charBuffer,0,readLength));
            readLength=inputStreamReader.read(charBuffer);
        }
        System.out.println();
        inputStream.close();
        socket.close();

        System.out.println("client 運行結束="+System.currentTimeMillis());

    }
}
相關文章
相關標籤/搜索