套接字在网络通信中的应用

2011-12-31 00:00:00魏文
电脑知识与技术 2011年17期


  摘要:该文介绍了在Java中使用套接字(Socket)技术进行客户机与服务器的通信,来协同完成一个网络计算任务。程序中还用到了Java的多线程技术,具有一定实用价值。
  关键词:套接字;网络通信;应用
  中图法分类号:TP311文献标识码:A 文章编号:1009-3044(2011)17-4040-04
  很少有人在接触过Internet后,能拒绝它的诱惑,大量和多样的信息太吸引人了。能与其他人交流和共享信息,其重要性已是无可争议的了,而能够掌握网络开发工具和编程技巧更是广大网络爱好者趋之若骛的目标。
  Java是一种具有面向对象、与平台无关、安全稳定、支持多线程等优良特性的计算机语言,其对网络的驾御能力非常强,特别适合于Internet的应用开发。Java小应用程序(Applet)可以嵌入到网页中执行各种网络应用,而Java提供的套接字技术就为小应用程序与服务器通信提供了便利。
  本文程序的工作原理是:在客户端通过Web页面(实际是调用服务器上的小应用程序)输入三角形的三个边长,传给服务器后由事先在服务器端启动的监听程序(Java应用程序)进行相应三角形面积的计算,然后将计算结果再传到客户机上显示。这个过程中的传输通信均通过套接字(Socket)来完成。
  1 套接字(Socket)及套接字连接
  大家知道,IP地址标识Internet上的计算机,端口号标识正在计算机上运行的进程(程序),而端口号与IP地址的组合就得出一个网络套接字。端口号被规定为一个在0~65535范围内的整数,其中,0~1023被预先定义的服务通信占用(如telnet占用端口23,http占用端口80等),所以自己建立通信时应使用1024~65535之间的端口号,以免发生端口冲突。
  当两个Java程序需要通信时,我们可以通过使用Java的Socket类建立套接字连接。在这里可以把套接字连接想象为一个电话呼叫,当呼叫(连接)完成后,谈话的任何一方(程序)都可以随时讲话。我们把发呼叫的一方称为“客户”,而监听和回应的一方称为“服务器”。
  1.1 客户建立连接到服务器的套接字对象
  客户程序使用Socket类建立到服务器的套接字连接。
  Socket的构造方法是:Socket( Stringh