网络编程本质还是在处理IO流上。
InetAddress类
这个类主要用来表示IP地址,有两个子类:Inet4Address和Inet6Address
|
|
URL类
|
|
|
|
URLConnection类
URL是单向的,而URLConnection是双向的,可以通过它对URL资源读或写。
|
|
服务端与客户端简单交互
单向传输(服务端给客户端)
示例:服务端传输helloworld给客户端。
客户端代码:
|
|
服务端代码:
|
|
一对一TCP传输(单个服务端和单个客户端)
示例:客户端发送半径给服务端,服务端算出圆的面积后把结果返回给客户端。
客户端代码:
|
|
服务端代码:
|
|
一对多TCP传输(单个服务端和多个客户端)
当多个客户端同时对服务器发送请求时,上面的方法就不行了(在IDE上的表现就是多次启动了客户端程序,这时只有第一个客户端程序能够成功连接上服务端)。
不过,可以通过多线程解决这个问题。
客户端代码:
|
|
服务端代码:
|
|
AreaRunnable类(处理每个线程):
|
|
以上这些内容基本上都属于TCP(要先进行服务端与客户端的连接),而实际上现在用的更多的是UDP(非连接,直接发送数据包),今后有空再研究了。