java_网络基础编程

InetAddress 类

package API_;

import java.net.InetAddress;
import java.net.UnknownHostException;

/**
 * @author ZhouHao
 * @version 1.0
 * @ 思路分析:
 */
public class Api_demo {
    public static void main(String[] args) throws UnknownHostException {
//        一、获取本机的对象  返回本机名,和本机的ip地址
        InetAddress localHost = InetAddress.getLocalHost();
        System.out.println(localHost+"~~~");
//        二、根据指定的主机名,获取对应的对象名
        InetAddress ByName = InetAddress.getByName("DESKTOP-I7BM4JK");
        System.out.println(ByName);
//        三、根据域名返回指定的ip地址
        InetAddress byName = InetAddress.getByName("www.xn--zsru59c.top");
        System.out.println(byName);
//        四、通过对应的对象 获取该ip地址
        String hostAddress = byName.getHostAddress();
        System.out.println(hostAddress);
//        五、通过对象获取对用的主机名 、 域名
        String hostName = byName.getHostName();
        System.out.println(hostName);
    }
}

Socket

TCP字节流编程 客户端
package TCP;

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

/**
 * @author ZhouHao
 * @version 1.0
 * 成为想成为的人
 */
public class TCP_client_demo {
    public static void main(String[] args) throws IOException {
        Socket socket=new Socket(InetAddress.getLocalHost(),9999);
        OutputStream os = socket.getOutputStream();
        os.write("hello,server".getBytes());
//        注意一定要写入结束标记
        socket.shutdownOutput();

        InputStream is = socket.getInputStream();
        byte[] by=new byte[1024];
        int count;
        while ((count=is.read(by))!=-1){
            System.out.print(new String(by,0,count));
        }

        socket.close();
        os.close();

    }
}

TCP字节流编程 服务端
package TCP;

import com.sun.corba.se.impl.encoding.CDROutputStream_1_0;

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

/**
 * @author ZhouHao
 * @version 1.0
 * 成为想成为的人
 */
public class TCP_server_demo {
    public static void main(String[] args) throws IOException {
//        服务端在9999端口监听
        ServerSocket serverSocket=new ServerSocket(9999);
//        程序在这里阻塞,当有程序连接时 会返回一个socke对象
        Socket socket = serverSocket.accept();
//        读取客服端发送的数据
        InputStream is_ = socket.getInputStream();
        byte[] buf=new byte[1024];
        int count;
        while ((count=is_.read(buf))!=-1){
            System.out.print(new String(buf,0,count));
        }

//        回复客户端读取的数据
        OutputStream os_=socket.getOutputStream();
        os_.write("hello,client".getBytes());
//        注意一定要写入结束标记
        socket.shutdownOutput();
//        关闭流 ,释放资源
        socket.close();
        serverSocket.close();
        is_.close();
        os_.close();
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

没有心肝,只有干

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值