帧格式简单图示:
协议类型|源IP|目标IP|源端口|目标端口|帧序号|帧数据
Socket在应用程序中创建,通过一种绑定机制与驱动程序建立关系,告诉对应的IP和Prot。
Socket数据发送、接收过程。
java.net包。
DatagramSocket类用于UDP。ServerSocket类用于TCP的服务器端,Socket类用于TCP的服务器和客户端。
//
UDP网络程序。
DatagramSocket类:
public DatagramSocket()
public DatagramSocket(int port)
public DatagramSocket(int port,InetAddress laddr)
close方法
send(DatagramPacket p)
receive(DatagramPacket p)
DatagramPacket类:
getnetAddress、getPort方法。
getData、getLength方法。
InetAddress类:
getByName方法。
getHostAddress方法。
UDP聊天程序
///
网管代理上网。
Tcp网络程序工作基本原理
serversocket(监听)——>socket(创建)——>socket(客户端)
serversocket、socket类 。 windows的telnet程序(本地回显功能),BufferReader包装类。
06多客户端的TCP服务器程序。网络传送中特殊字符的处理。
检测和解决端口冲突问题:
netstat命令,查看当前正在被使用的TCP端口号。
应该将用户所制定的端口号保存到一个文件中,当服务器程序下次启动运行时,直接从文件中读取那个端口号。
运行时参数来确定IP和端口号的TCP客户端程序。
ObjectInputStream和ObjectOutputStream可以从底层输入流中读取对象类型的数据和将对象类型的数据写入到底层输出流。
ObjectInputStream和ObjectOutputStream包装底层网络字节流,TCP服务器和客户端就可以传递对象类型的数据。
ObjectInputStream和ObjectOutputStream包装类必须实现Serializable接口。
区分ASP、JSP与网络编程的概念。
java.net包中还有URL、URLDecoder、URLEncoder、URLConnection、HttpURLConnection类
URL中空格转换为"+"号。其他字符用这个当前字符集编码在内存中的十六进制格式表示并在每个字节前加上一个(%)号。空格也可以用%20表示。
HTTP请求消息、响应消息。消息头:例:Connection、Accept-Language、Content-Length、Range、Content-Range
URL类:getXxx方法们。URLStreamHandler类。
openConnection方法返回URLConnection对象。//可以获取网络资源中的具体内容
URL中的工厂设计模式×××:
setURLStreamHandlerFactory静态方法。——》setURLStreamHandler类的createURLStreamHandler(String protocol)方法。
URLConnection、HttpURLConnection类:
支持HTTP协议的Connection的子类。setRequestProperty方法、getHeaderFields方法《getHeaderFields、getContentLength、getContentEncoding、getContentType》
一个HTTO连接可被多个HttpURLConnection实例对象共享,调用disconnect可以关闭底层共享网络。
协议类型|源IP|目标IP|源端口|目标端口|帧序号|帧数据
Socket在应用程序中创建,通过一种绑定机制与驱动程序建立关系,告诉对应的IP和Prot。
Socket数据发送、接收过程。
java.net包。
DatagramSocket类用于UDP。ServerSocket类用于TCP的服务器端,Socket类用于TCP的服务器和客户端。
//
UDP网络程序。
DatagramSocket类:
public DatagramSocket()
public DatagramSocket(int port)
public DatagramSocket(int port,InetAddress laddr)
close方法
send(DatagramPacket p)
receive(DatagramPacket p)
DatagramPacket类:
getnetAddress、getPort方法。
getData、getLength方法。
InetAddress类:
getByName方法。
getHostAddress方法。
UDP聊天程序
///
网管代理上网。
Tcp网络程序工作基本原理
serversocket(监听)——>socket(创建)——>socket(客户端)
serversocket、socket类 。 windows的telnet程序(本地回显功能),BufferReader包装类。
06多客户端的TCP服务器程序。网络传送中特殊字符的处理。
检测和解决端口冲突问题:
netstat命令,查看当前正在被使用的TCP端口号。
应该将用户所制定的端口号保存到一个文件中,当服务器程序下次启动运行时,直接从文件中读取那个端口号。
运行时参数来确定IP和端口号的TCP客户端程序。
ObjectInputStream和ObjectOutputStream可以从底层输入流中读取对象类型的数据和将对象类型的数据写入到底层输出流。
ObjectInputStream和ObjectOutputStream包装底层网络字节流,TCP服务器和客户端就可以传递对象类型的数据。
ObjectInputStream和ObjectOutputStream包装类必须实现Serializable接口。
区分ASP、JSP与网络编程的概念。
java.net包中还有URL、URLDecoder、URLEncoder、URLConnection、HttpURLConnection类
URL中空格转换为"+"号。其他字符用这个当前字符集编码在内存中的十六进制格式表示并在每个字节前加上一个(%)号。空格也可以用%20表示。
HTTP请求消息、响应消息。消息头:例:Connection、Accept-Language、Content-Length、Range、Content-Range
URL类:getXxx方法们。URLStreamHandler类。
openConnection方法返回URLConnection对象。//可以获取网络资源中的具体内容
URL中的工厂设计模式×××:
setURLStreamHandlerFactory静态方法。——》setURLStreamHandler类的createURLStreamHandler(String protocol)方法。
URLConnection、HttpURLConnection类:
支持HTTP协议的Connection的子类。setRequestProperty方法、getHeaderFields方法《getHeaderFields、getContentLength、getContentEncoding、getContentType》
一个HTTO连接可被多个HttpURLConnection实例对象共享,调用disconnect可以关闭底层共享网络。