网络编程(1)

网络编程

网络编程的基础知识

      UDP网络程序

      TCP网络程序

      访问Internet网络资源

 

网络编程的基础知识

      网络协议与TCP/IP

      IP地址和Port(端口号) 本地回路的IP地址:127.0.0.1。 使用此IP地址的程序通信不经过网卡。

      端口号的范围为0~65535之间,0~1023之间的端口数是用于一些知名的网络服务和应用。

 

UDP与TCP

      TCP,传输控制协议(Transmission Control Protocol),是面向连接的通信协议。

      UDP,用户数据报协议(User Datagram Protocol),是无连接通信协议。

      Socket Socket是网络驱动层提供给应用程序编程的接口和一种机制。 可以把Socket比喻成是一个港口码头。应用程序只要把货物放到港口码头上,就算是完成了货物的运送。应用程序只需等待货物到达码头后,将货物取走。 Socket在应用程序中创建,通过一种绑定机制与驱动程序建立关系,告诉自己所对应的IP和Port。

 

Java中的网络编程类

      位于java.net包中;

      DatagramSocket类用于UDP通信;

      ServerSocket类用于TCP通信的服务器端;

      Socket类用于TCP通信的服务器和客户端;

      在创建Socket的时候如果没有指定端口号,系统会自动分配一个还没有被其它网络程序使用的端口号;

      在创建Socket的时候没有指定IP地址,在发送数据的时候,底层驱动程序会选择计算机上的任意一个IP地址做为发送源IP地址,再由IP地址绑定的网卡将数据发送出去,而在接收数据的时候底层驱动将发送到计算机上的所有的IP地址的某一个端口的数据包都交给使用那个端口号的应用程序去处理。对于只有一个IP地址的计算机,一般不用指定IP地址,否则这个网络程序只能在具有这个IP地址的计算机上运行,而不能在使用其它IP地址的计算机上运行,如果计算机上有多块网卡或多个IP地址的情况,需指定数据通过哪个网卡或哪个IP地址发出去。

 

UDP网络程序

      DatagramSocket类

      DatagramPacket类

      InetAddress类

      最简单的UDP程序

      用UDP编写网络聊天程序

 

DatagramSocket类

]     构造函数

      public DatagramSocket();

      public DatagramSocket(int port) ;

      public DatagramSocket(int port,InetAddress laddr) ;

      close方法 关闭DatagramSocket;

      Send(DatagramPacket p)方法;

      Receive(DatagramPacket p)方法;

      InetAddress类;

      getByName方法;

      getHostAddress方法;

 

      小程序中的知识: 在cmd命令窗口下用start命令可以打开新的cmd命令窗口;

     "hello www.it315.org".length(),InetAddress.getByName("127.0.0.1"),3000));

     "hello IT资讯交流网".getBytes().length,InetAddress.getByName("127.0.0.1"),3000)); 其中的中文字符要用getBytes()方法将字符转换成字节数组后才能正常输出中文字符,而length在字节数组中是属性而不是方法,故没有后面的小括号。

 

 用UDP编写网络聊天程序

      1、编写图形用户界面;

      2、编写网络消息发送功能;

      3、编写网络消息接收功能。

      只有UDP才能发送和接收广播数据要重点掌握网络连接的原理,IP连接原理 TCP网络程序 TCP网络程序的工作原理 ServerSocket类 Socket类 简单的TCP服务器程序 完善的TCP服务器程序模型 TCP客户端程序 如何检测和解决端口冲突的问题 通过TCP程序在网络上传递对象

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值