网络编程——TCP连接

醉酒当歌 提交于 2020-04-04 15:12:13

TCP在双方传输数据前,发送方先请求建立连接,接收方同意建立连接后才能传输数据。(打电话:先拨号,等对方同意接听后,才能交流)。。。高可靠性

UDP不需要建立连接(发短信)。不可靠,可能出现数据丢失等,但效率高,实时性高。

————————————————————————————————————————————————————————————————————————————

服务器端:

import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class ServerSocketTest {

    public static void main(String[] args) throws IOException {
        // 新建一个服务器端的套接字 Server端监听10000端口
        ServerSocket serverSocket = new ServerSocket(10000);
        // 建立连接,此时进入阻塞状态
        Socket socket = serverSocket.accept();
        System.out.println("Connected: " + socket.getRemoteSocketAddress());
        // socket从客户端读取数据
        InputStream inputStream = socket.getInputStream();
        byte[] b = new byte[1024];
        int length = inputStream.read(b);
        System.out.println(length + " Bytes Received");
    }

}

客户端代码:

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

public class ClientSocketTest {
    
    public static void main(String[] args) throws IOException {
        //新建一个客户端的套接字
         Socket socket = new Socket("127.0.0.1", 10000);
        // 用socket往服务器端发送数据
         OutputStream outputStream = socket.getOutputStream();
        byte[] b = new byte[2];
        outputStream.write(b);
    }
    
}



运行结果:

Connected: /127.0.0.1:60361
2 Bytes Received


 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!