Socket的基本概念:
两个java应用程序可以通过一个双向的网络通信连接实现数据交换,这个双向链路的一端称为一个Socket
Socket通常用来实现clientserver连接。(CS模式,客户端服务器模式)
java.net包中定义两个类 SocketServerSocket,分别用来实现双向链接的clientserver端。
建立连接时所需的寻址信息为远程计算机的IP地址和端口号(Port number
<?XML:NAMESPACE PREFIX = O />

 

网络编程:Socket编程

 

ServerSocketTCP上的服务器端口。

 

IP地址和端口号(Port number

端口号表示应用程序的识别码

类似于IP  端口号为两个字节最多有65536个端口

一个应用程序可以应用多个端口号

 

注意一点:自己编程占用端口号时:尽量用1024以上的端口号,因为1024以下的端口系统有可能征用。

 

关于数据的传输使用流的概念。
流的东西在java.io.*包中。

 

Socket端口上有个getInputStream()方法
注意:DataInputStream 类中的readUTF(),是阻塞式的方法。

 

ServerSocket的方法accept()也为阻塞式的。

由于readUTF方法为阻塞式的

则会产生如下问题:

当一个客户端调用服务器的时候进行通信调用readUTF()方法时,就会产生阻塞,其他的客户端就无法访问服务器。

 

在服务器中使用Socket getInetAddress获取客户端的端口号
CS之间的数据传输:使用流概念就是:OutPutStreamInPutStream
可以在各种流上添加相应的处理流。用来方便处理。