总总结结
服务器就是网路上开放一个端口用来等待客户端连接,并在连接之后能够按照一定的协议与客户端进行单工或者双工的通信的电脑。所以要构建一个简单的服务器就需要开放一定的端口,并且要让客户端知道服务器的IP以及开放的端口的类型号。
在构建服务器时,用到了一个新的类来创建服务器的对象,java.net.ServerSocket,创建的语句大致如下
java.net.ServerSocket server = new java.net.ServerSocket(port);
其中port是一个int类型的值,表示这个服务器对象所开放的端口号。电脑中可用的端口号从0~65535,一个端口同时只能被一个程序所占用,其中前1024个端口称为知名端口,通常都被一些电脑中常用软件所占用。所以在写测试程序时,要尽量避免使用这些知名端口。
由于存在输入的port被占用或者port的值不在可用范围之内的等等不可预知的情况存在,所以这条语句需要强制检测异常,即需要try catch语句或者throws关键字。
在创建对象之后,需要用accept()方法来在有客户端进行连接时获得一个Socket对象作为客户端对象。由于这条语句是在客户端连接服务器时有效,所以在这条语句时会有一个阻塞的效果。由于需要与客户端进行通信,就需要从Socket对象上获得其输入输出流对象(同样需要try catch),getInputStream()和getOutputStream()方法可以实现相关目的。
客户端与服务器对应,其实也差不多
个人觉得技术问题没必要在这上面讲,毕竟联网了还怕什么问题解决不了的,也许可以当日记来写了,可是当日记写又不叫技术博客了,觉得这个博客对于我来讲权当用来保存东西的了,写了个东西,发表下意见,然后把压缩的文件代码传上去,自己非常的不热衷中写文字,感觉想尽了方法来写博客有点华而不实,看法不好,我对自己的观点从来都很坚持