基于TCP的网络编程——基本使用

本文介绍了基于TCP的网络编程,讲解了如何利用Java的InetAddress类获取IP地址,以及URLEncoder和URLDecoder类在字符串转换中的作用。重点探讨了TCP协议的特性,包括面向连接、数据安全但速度较慢等。详细阐述了Socket和ServerSocket的使用,包括创建、获取流及数据处理步骤,并提供了客户端上传文件到服务器以及服务器与客户端简单交流的代码示例。
摘要由CSDN通过智能技术生成

获取IP地址方法

一、InetAddress类

//获取本机地址,静态方法
static InetAddress getLocalHost();
InetAddress inet = InetAddress.getLocalHost();

//获取此IP地址的主机名
String getHostName();
String name = InetAddress.getLocalHost().getHostName();

//根据主机名、IP地址、域名获取IP地址
static InetAddress getByName(String host);

//返回一个IP地址的字符串展示形式
String getHostAddress();

//获取域名所拥有的服务器地址(多个)
InetAddress[] arr = InetAddress.getAllByName("www.baidu.com");

二、URLEncoder类和URLDecoder类

URLEncoder类和URLDecoder类用于完成普通字符串和application/x-www-form-urlencoded MIME字符串之间的转换。

//URLDecoder:解码,将特殊中文字符串转换为普通字符串
String string1 = URLDecoder.decode("%E5%8D%83%E9%94%8B", "utf-8");
System.out.println(string1);
		
//URLEncoder:编码,将普通字符串转换为特殊字符串
String string2 = URLEncoder.encode("Java的开发指南", "GBK");
System.out.println(string2);
		
//注意:编码和解码需要采用相同的字符集
String string3 = URLDecoder.decode(string2, "utf-8");
System.out.println(string3);

基于TCP的网络编程

TCP:Transmission Control Protocol,传输控制协议,基于字节流的传输层通信协议。

特征:

  1. TCP协议是完全依赖IO流的,面向连接的!!!1对1
  2. 数据传输没有大小限制
  3. 因为面向连接,所以数据安全
  4. 因为面向连接,所以速度较慢
  5. TCP协议严格区别客户端和服务器

TCP的三次握手
​> a.客户端向服务端发送一个请求
​>b.服务端收到请求后,回客户端一个响应
​>c.客户端向收到服务端的响应后,回服务端一个确认信息

在这里插入图片描述

一、Socket和ServerSocket

Socket(套接字)是操作系统提供的一种底层的通信机制,在网络传输中,两台电脑必须安装有Socket才可以进行数据传输和通讯,不同的传输协议使用的是不同的Socket。

Socket常用方法

//返回套接字连接地址
InetAddress getInetAddress(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值