黑马程序员—网络编程概述

时间:2023-01-27 12:07:59

---------------------- <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>、期待与您交流! ----------------------