java 基于TCP网络编程

本文深入解析InetAddress类的概念及方法,包括获取本地主机地址、根据主机名获取地址等。同时,详细介绍了Socket编程的基本原理,涵盖客户端与服务器的通信流程,以及使用Java进行Socket编程的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

InetAddress类

概念: 表示互联网协议(P)地址对象,封装了与该P地址相关的所有信息,并提供获取信息的常用方法。

方法:

1.public static InetAddress getLocalHost()获得本地主机地址对象 

2.public static InetAddress getByName(String host)根据主机名称获得地址对象 

3.public static InetAddress[ ]getAllByName(String host)获得所有相关地址对象 

4.public String getHostAddress()获取IP地址字符串 

5.public String getHostName()获得IP地址主机名 

Socket编程:

1.客户端Socket

2.服务器ServerSocket

3.通信要求:IP地址+端口号

4.Socket(套接字)是网络中的一个通信节点

开发步骤:

客户端:

 

Socket client = new Socket("192.168.1.104", 1111);
//创建客服端对象参数为IP和端口号
InputStream is = client.getInputStream();//用client创建一个字节输入流
InputStreamReader isr = new InputStreamReader(is ,"UTF-8");
BufferedReader br = new BufferedReader(isr);
//用桥转换流和缓冲流转换成一个可以设置编码方式的可一次读一行的字符输入过滤流
OutputStream os = client.getOutputStream();//用client创建一个字节输出流
OutputStreamWriter osw = new OutputStreamWriter(os , "UTF-8");
PrintWriter pw = new PrintWriter(osw);


服务器:

ServerSocket server = new ServerSocket(5555);//创建ServerSocket,指定端口号
Socket client = server.accept();//调用accept等待客户端接入
InputStream is = client.getInputStream();//用client创建一个字节输入流
InputStreamReader isr = new InputStreamReader(is ,"UTF-8");
BufferedReader br = new BufferedReader(isr);

OutputStream os = client.getOutputStream();//用client创建一个字节输出流
OutputStreamWriter osw = new OutputStreamWriter(os , "UTF-8");
PrintWriter pw = new PrintWriter(osw);
//用桥转换流和缓冲流转换成一个可以设置编码方式的可写完自动换行的字符输出过滤流
 

Properties集合添加:

Properties userPros = new Properties();

//1将集合加载到文件中去
userPros.store(new FileWriter("Files\\userPros.properties"),"用户信息");

//2.把properties文件里的内容通过字符流加载到properties集合里
userPros.load(new FileReader(file));

应用:

userPros = new Properties();
//指向信息配置文件
File file = new File("Files\\userPros.properties");
if(file.exists()) {//文件存在
try {
//把properties文件里的内容通过字符流加载到properties集合里
userPros.load(new FileReader(file));
} catch (Exception e) {
e.printStackTrace();

}

 

 

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值