黑马程序员-网络编程


---------------------- android培训java培训 、期待与您交流! ----------------------



网络编程

一、网络编程的基础知识

1、      网络协议与TCP/IP

2、      UDP与TCP

TCP,传输控制协议,是面向连接的通信协议。

UDP,用户数据报协议,是无连接通信协议。

3、      Socket

1)  Socket是网络驱动层提供给应用程序编程的接口和一种机制。

2)  可以把Socket比喻成是一个港口码头,应用程序只要把货物放到港口码头上,就算完成了货物的运送。应用程序等待货物到达码头后,将货物取走。

3)  Socket在应用程序中创建,通过一种绑定机制与驱动程序建立关系,告诉自己所对应的IP和Port。

 

4)java中的网络编程类

(1)位于java.net包中

 (2)DatagramSocket类用于UDP传输

 (3)ServerSocket类用于TCP通信的服务器端

 (4)Socket类用于TCP通信的服务器和客户端

二、UDP网络程序

1、      DatagramSocket类

1)      构造函数:

   publicDatagramSocket()

   publicDatagramSocket(int port)

public DatagramSocket(int port,InetAddress Iaddr)

2)close方法

3)send(DatagramPacket p)方法

4)receive(DatagramPacket p)方法 

2、      DatagramPacket类

1)  如果把DatagramSocket比作创建的港口码头,那么DatagramPacket就是发送和接收数据的集装箱。

2)  构造函数:

public DatagramPacket(byte[] buf,int length)-----用于接收数据包

public DatagramPacket(byte[] buf,intlength,InetAddress address,int port)-----用于发送数据包。

3)  getInetAddress和getPort方法-----获取发送方的IP地址和端口号

4)  getData和getLength方法

3、      InetAddress类

1)  用于表示计算机IP地址的一个类

2)  getByName方法(静态)

3)  getHostAddress方法

三、TCP网络程序

1、      TCP网络程序的工作原理

1)      TCP客户端程序与TCP服务器端程序的交互过程:

(1)      服务器端创建一个ServerSocket,然后调用accept方法等到客户来连接。

(2)      客户端程序创建一个Socket并请求与服务器建立连接。

(3)      服务器接收客户的连接请求,并创建一个新的Socket与该客户建立专线连接。

(4)      建立了连接的两个Socket在一个单独的线程(由服务器创建)上对话。

(5)      服务器开始等待新的连接请求,当新的连接请求到达时,重复步骤(2)到步骤(5)的过程。

2、      ServerSocket类

1)      构造函数:

  publicServerSocket()

public ServerSocket(int port)

public ServerSocket(int port,int backlog)

public ServerSocket(int port,int backlog,

InetAddress bindAddr)

2)      close方法

3)      accept方法

3、      Socket类

1)      构造函数:

   publicSocket()

public Socket(String host,int port)

public Socket(InetAddress address,int port)

public Socket(String host,int port,

InetAddress localAddr,int localPort)

public Socket(InetAddress address,int port,

InetAddress localAddr,int localPort)

     2)getInputStream和getOutputStream方法

4、      如何检测和解决端口冲突问题

1)      使用netstat命令查看当前正在被使用的TCP端口号。

2)      通过一个配置参数来指定TCP服务器程序所使用的端口号。

5、      通过TCP程序在网络上传递对象

1)      ObjectInputStream和ObjectOutputStream可以从底层输入流中读取对象类型的数据和将对象类型的数据写入到底层输出流。

2)      使用ObjectInputStream和ObjectOutputStream来包装底层网络字节流,TCP服务器和TCP客户端之间就可以传递对象类型的数据。

四、访问Internet网络资源

1、      URL(统一资源定位符)

   URL的基本组成:协议、主机名、端口号、资源名。

2、      HTTP协议

3、      URL类

  1)构造函数(都可引发MalformedURLException)

4、      工厂设计模式

1)  URL类的setURLStreamHandlerFactory

(URLStreamHandlerFactory fac)静态方法。

3)      StreamHandlerFactory类的

 createURLStreamHandler(String protocol)方法

5、      URLConnection和HttpeURLConnection类


----------------------  android培训 java培训 、期待与您交流! ----------------------


详细请查看:http://edu.csdn.net/heima
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值