黑马程序员—网络编程

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


1,本地回路的IP地址:127.0.0.1,可以在控制台中输入ping 127.0.0.1来检测本地计算机中的TCP/IP协议是否安装正确,这个IP并未与网卡绑定,可以利用这个IP地址来实现同一台计算机上的两个网络应用程序的通信。
2,Port(端口号),端口号的范围为0—65535之间,0—1023之间的端口数是用于一些知名的网络服务和应用。不同的应用程序接收不同端口的数据,同一台计算机上不能有两个使用同一个端口的应用程序。计算机接收到一个网络数据包以后,驱动程序根据数据包中的端口号来确定应该把这个数据包交给哪个程序来处理。
3,TCP,传输控制协议,是面向连接的通信协议,它提供两台计算机之间可靠和无差错的数据传输。
4,UDP,用户数据报协议,是无连接通信协议。UDP不保证数据的可靠传输,但能够向若干个目标发送数据和接收发至若干个源的数据,如果一个主机向另外一台主机发送UDP数据,这个数据就会立刻发送出去,而不管另外一台主机是否已经准备接收数据,网络线路繁忙或出现故障时会造成UDP数据包的丢失。如果另外一台主机接收到了数据,它不会确认收到与否。
5,Socket是网络驱动层提供给应用程序编程的接口和一种机制,可以把Socket比喻成一个港口码头。应用程序只要把货物放到港口码头上,就算完成了货物的运送。应用程序只需等待货物到达码头后,将货物取走。Socket在应用程序中创建,通过一种绑定机制与驱动程序建立关系,告诉自己所对应的IP和Port。不能使用Socket类的构造方法来创建服务器端的Socket对象。服务器端的Socket对象是ServerSocket.accept在接收到客户端的连接请求后返回的。
6,DatagramSocket类用于UDP通信,示例:DatagramSocket s = new DatagramSocket(null); s.bind(new InetSocketAddress(8888)); 这等价于:DatagramSocket s = new DatagramSocket(8888); 两个例子都能创建能够在 UDP 8888 端口上接收广播的 DatagramSocket。
7,ServerSocket类用于TCP通信的服务器端。
8,Socket类用于TCP通信的服务器和客户端。这个服务器端指的是一个专用于和客户端建立数据传输的Socket,而ServerSocket是指接收客户端的连接的。

Socket数据发送过程:


Socket数据接收过程:

9,TCP客户端与TCP服务器端程序的交互过程:
(1)服务器程序创建一个ServerSocket,然后调用accept方法等待客户来连接。
(2)客户端程序创建一个Socket并请求服务器建立连接。
(3)服务器接收客户的连接请求,并创建一个新的Socket与该客户建立专线连接。
(4)建立了连接的两个Socket在一个单独的线程(由服务器程序创建)上对话。
(5)服务器开始等待新的连接请求,当新的连接请求到达时,重复步骤(2)到步骤(5)的过程。
10,可以使用Windows提供的telnet程序测试TCP服务程序。当使用telnet向服务程序发送数据时,控制台中若没有显示你所输入的字符,那就可以通过打开telnet程序的本地回显功能来看到你输入的字符。
11,使用BufferedReader包装类,从网络输入流中一次读取一行文本。
12,使用netstat命令查看当前正在被使用的TCP端口号。
13,ObjectInputStream和ObjectOutputStream可以从底层输入流中读取对象类型和数据和将对象类型的数据写入到底层输出流,使用ObjectInputStream和ObjectOutputStream来包装底层网络字节流,TCP服务器和TCP客户客户端之间就可以传递对象类型的数据。

14,HTTP的几个消息头
(1)Connection用于指定处理完本次请求/响应后,客户端与服务器是否继续保持连接。设置值可以为Keep-Alive和close。
(2)Accept-Language用于指出客户机期望服务器返回的文档所使用的国家语言,可以指定多个以逗号分隔的国家语言。
(3)Cotent-Length用于表示实体内容的长度(字节数)。
(4)Range用于指定服务器只需返回文档中的部分内容及内容范围。
(5)Content-Range用于指定服务器返回的部分实体内容的位置信息。

15,下面是我做的一个模拟铁路网上排队购票的系统,做得不好,呵呵

服务器端

客户端

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值