Socket —— TCP 初识

/**
 * 从这个例子开始,我们讲解 TCP
 * 一定要先启动服务端(接收端)
 *
 * Created by Liwei on 2016/7/17.
 * TCP 协议发送数据
 * 1、创建发送端的 Socket 对象,
 * 这一步如果成功,就说明连接已经建立成功了
 * 2、获取输出流,写数据
 * 3、释放资源
 */
public class ClientDemo {

    public static void main(String[] args) throws IOException {
        // 创建发送端的 Socket 对象
        Socket s = new Socket("192.168.100.112",8888);
        // 获取输出流用于写数据
        OutputStream os = s.getOutputStream();
        // 输出流只接受字节类型的数据
        os.write("hello,socket,tcp".getBytes());
        // 释放资源
        s.close();
    }
}
/**
 *  * 从这个例子开始,我们讲解 TCP
 * 一定要先启动服务端(接收端)
 * Created by Liwei on 2016/7/17.
 *
 * TCP 协议接收数据的步骤:
 * 1、创建接收端的 Socket;
 * 2、监听客户端连接;
 * 3、获取输入流,读取数据显示在控制台;
 * 4、释放资源。
 */
public class ServeDemo {

    // 接收端就是服务端
    // 客户端发送请求,服务端接收
    public static void main(String[] args) throws IOException {
        // 创建接收端的 Socket 对象(ServerSocket 类型)
        ServerSocket ss = new ServerSocket(8888);
        // 监听客户端的连接,返回一个 Socket 对象
        // 侦听并接受到此套接字的连接。此方法在连接传入之前一直阻塞。
        Socket s = ss.accept();
        // 获取输入流,返回一个字符串显示在控制台
        InputStream is =s.getInputStream();
        byte[] bys = new byte[1024];

        // 阻塞式的方法
        Integer len = is.read(bys);
        String str = new String(bys,0,len);
        String ip = s.getInetAddress().getHostAddress();
        System.out.println("客户端 ip " + ip + ",接收到的数据 => " + str );

        // 释放资源
        s.close();
        // 这个不应该关闭
        // 这个不应该关闭
        // 这个不应该关闭
        ss.close();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值