---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------
网络编程概述:
网络编程的方法
1、 找到对方IP
2、 数据要发送到对方指定的应用程序上,为了标识这些应用程序,所以给这些网络应用程序都用数字进行标识。为了方便称呼这个数字,叫做端口,逻辑端口。
3、 定义通信规则,这个通讯规则称为协议。国际组织定义了通用协议TCP/IP
我们在利用通讯软件进行通讯时,为了使计算机能够识别所接收数据是发给某个通讯软件,我们是根据通讯软件的端口进行判断的。比如,对方发来了QQ消息,计算机接收消息后通过判断知道是QQ消息,然后根据本机QQ软件端口号再将此消息发给本机QQ软件接收。
网络通讯三要素:IP地址,端口号,传输协议
(1) IP地址:网络中设备的标识,不容易记忆,通常情况用主机名,我们编程经常用于在本机测试网站的IP地址是本地回环地址:127.0.0.1,主机名字就是我们常用的localhost。
(2) 端口号:用于标识进程的逻辑地址,不同进程的标识。其中有效端口:0-65535,而0-1024端口是系统使用或保留端口。
(3) 传输协议:即是通讯的规则,常见的协议TCP、UDP。
IP编程举例
import java.net.*;
publicclass IPDemo {
publicstaticvoid main(String[] args)throws Exception
{
//获取本机对象
InetAddress i1 = InetAddress.getLocalHost();
//获取本机IP地址并输出
sop(i1.getHostAddress());
//获取本机主机名字并输出
sop(i1.getHostName());
/*
//获取百度的主机对象数组
InetAddress[] i2 = InetAddress.getAllByName("www.baidu.com");
//输出百度主机地址和域名
for(int i=0;i<i2.length;i++)
{
sop(i2[i].getHostAddress());
sop(i2[i].getHostName());
}
*/
}
publicstaticvoid sop(Object obj)
{
System.out.println(obj);
}
}
UDP传输协议:用户数据报协议(User Datagram Protocol)面向无连接,传输速度快,不可靠的协议,每个数据报小于64K。比如,我们用聊天软件的时候使用的就是UDP协议。
TCP传输协议:传输控制协议(Transmission Contrcol Protocol)面向连接,传输速度相对较慢,可靠的协议,可以进行大数据量的传输。
Socket
Socket就是为网络服务提供的一种机制
通信的两端都有Socket
网络通信其实就是Socket间的通信
数据在两个Socket间通过IO传输
UdpSocket传输
定义一个数据包,因为要存储接收到的字节数据
因为数据包对象中有更多功能可以提取字节数据中的不同数据信息
通过Socket服务的receive方法将收到的字节数据存入已定义好的
数据中
通过数据包对象的特有功能,将这些不同的数据取出,打印在控制台
上
关闭资源
TCP传输:
Socket对象和ServerSocket对象
建立客户端和服务器端
建立连接后,通过Socket中的IO流进行数据的传输
关闭Socket
同样,客户端与服务器端是两个独立的应用程序。
在学习视频中,我自己总结了一下客户端与服务器端的通信过程:首先,客户端建立一个客户端对象,先连接到服务器端,然后,这个客户端对象用自己的OutputStream向服务器端发送数据,接着,服务器端监听有客户端发来信息,就会获取从客户端传来的客户端对象,信息处理完成后,再向客户端反馈信息。
---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------