您的位置:首页 > 理论基础 > 计算机网络

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

2014-01-24 14:54 323 查看
---------------------- <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>、期待与您交流! ----------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息