黑马程序员——JAVA基础——网络编程

———–android培训、java培训、java学习型技术博客、期待与您交流!————

TCP传输

使用TCP协议完成一个客户端一个服务器。客户端从键盘输入读取一个字符串,发送到服务器。服务器接收客户端发送的字符串,反转之后发回客户端。客户端接收并打印。

package com.itheima;

import java.io.*;
import java.net.*;

//客户端
class TcpClient{
    public static void main(String[] args) throws Exception
    {
        //创建客户端的socket服务,指定目的主机和端口
        Socket s = new Socket("192.163.1.80",8080);

        //为了发送数据,应该获取socket流中的输出流
        OutputStream out = s.getOutputStream();

        out.write("服务端,你好".getBytes());

        //获取服务端 返回来的数据
        InputStream in = s.getInputStream();

        //设定缓冲区
        byte[] buf = new byte[1024];
        int len = in.read(buf);

        //打印服务端返回来的数据
        System.out.println(new String(buf,0,len));

        s.close();
    }
}

//服务器端
class TcpServer{
    public static void main(String[] args) throws Exception{

        //建立服务端的socket服务,并监听一个窗口
        ServerSocket ss = new ServerSocket(8080);

        //通过accept方法获取链接过来的客户端对象
        Socket s = ss.accept();

        //获取并打印IP地址
        String ip = s.getInetAddress().getHostAddress();
        System.out.println(ip+"..............connected");

        //获取客户端发送过来的数据,要使用客户端对象的读取流来读取数据
        InputStream in = s.getInputStream();

        //设定缓冲区
        byte[] buf = new byte[1024];
        int len = in.read(buf);

        //打印客户端发送过来的数据
        System.out.println(new String(buf,0,len));

        //为了发送数据,应该获取socket流中的输出流
        OutputStream out = s.getOutputStream();

        out.write("客户端,你好".getBytes());

        s.close();

        ss.close();
    }
}
发布了1 篇原创文章 · 获赞 0 · 访问量 104
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览