• 测试技术
  • 博客
  • 视频
  • 开源
  • 论坛
  • 沙龙
  • 下载
  • 杂志
  • 招聘

您的位置:您的位置:软件测试技术门户 >> 软件测试技术 >> 开发语言 >> Java >> 查看资讯

字号: | 推荐给好友 上一篇 | 下一篇

Java开发中有关Java Socket编程的一些介绍

发布: 2008-10-23 08:24 | 作者: 不详 | 来源: 领测软件测试网采编 | 查看: 18次 | 进入领测软件测试网论坛讨论

领测软件测试网 软件测试技术门户ADK_~8O9L~)s

软件测试技术门户:NH8p[OoVG"m

这里仅仅只是加了一个外层的While循环.这个循环的目的就是当一个客户进来就为它分配一个Socket直到这个客户完成一次和服务器的交互,这里也就是接受到客户的"End"消息.那么现在就实现了多客户之间的交互了.但是.问题又来了.这样做虽然解决了多客户,可是是排队执行的.也就是说当一个客户和服务器完成一次通讯之后下一个客户才可以进来和服务器交互.无法做到同时服务.那么要如何才能同时达到既能相互之间交流又能同时交流呢?很显然这是一个并行执行的问题了.所以线程是最好的解决方案. 软件测试技术门户1I^H"V L

/CqB@J软件测试技术门户 M6Gu&FU/I6V$Gx}
那么下面的问题是如何使用线程.首先要做的事情是创建线程并使得其可以和网络连线取得联系.然后由线程来执行刚才的操作.要创建线程要么直接继承Thread要么实现Runnable接口,要建立和Socket的联系只要传递引用就可以了.而要执行线程就必须重写run方法.而run方法所做的事情.就是刚才单线程版本main所做的事情.因此我们的程序变成了这样:

%W9p f5JA2}+[X 软件测试技术门户J)MTr [d r$i

软件测试技术门户7|;z1G:faSi
import java.net.*;

j8u)ibx'x5DY;^ 软件测试技术门户/Z z-C@ i`

软件测试技术门户P]V%Y.Q
import java.io.*; 软件测试技术门户,G;eZQ7Jk QqsW

/Uo.e