TCP传输数据

Posted zuixinxian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TCP传输数据相关的知识,希望对你有一定的参考价值。

package com.yjf.esupplier.common.test;

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

/**
 * @author shusheng
 * @description TCP 传输数据
 * @Email shusheng@yiji.com
 * @date 2019/1/15 22:57
 */
public class ClientDemo 

    public static void main(String[] args) throws IOException 
        // 创建发送端的Socket对象
        Socket socket = new Socket("localhost",8888);

        OutputStream outputStream = socket.getOutputStream();
        outputStream.write("hello tcp,我来啦".getBytes());

        // 获取输入流
        InputStream is = socket.getInputStream();
        byte[] bys = new byte[1024]; int len = is.read(bys);// 阻塞
        String client = new String(bys, 0, len); System.out.println("client:" + client);
        socket.close();
    

package com.yjf.esupplier.common.test;

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

/**
 * @author shusheng
 * @description TCP 传输数据
 * @Email shusheng@yiji.com
 * @date 2019/1/16 21:11
 */
public class ServerDemo 

    public static void main(String[] args) throws IOException 
        // 创建接收端的 Socket 对象
        ServerSocket ss = new ServerSocket(8888);

        Socket s = ss.accept();

        InputStream is = s.getInputStream();

        byte[] bys = new byte[1024];
        int len = is.read(bys);
        String str = new String(bys, 0, len);

        String ip = s.getInetAddress().getHostAddress();

        System.out.println(ip + "---" + str);

        // 获取输出流
        OutputStream os = s.getOutputStream();
        os.write("数据已经收到".getBytes());

        s.close();
    

 

以上是关于TCP传输数据的主要内容,如果未能解决你的问题,请参考以下文章

TCP(传输控制协议)

TCP传输小数据包效率问题

Tcp协议保证可靠传输机制

Tcp协议保证可靠传输机制

在同一台计算机上进行数据传输 出现tcp错误56

TCP协议数据传输的基本机制:滑动窗口运行过程详解