代码黑马程序员java教程:tcp协议服务端多线程技术

w3cschool 在线教程  时间:2021-01-31  阅读:()

TCP协议服务端多线程技术

代码

UploadTask. java

1. import java.net.Socket;

2. import java. io. InputStream;

3. import java. io.FileOutputStream;

4. import java. io.File;

5. import java. io.OutputStream;

6.

7. public class UploadTask implements Runnable

8. {

9. private Socket s;

10.

11. public UploadTask(Socket s) {

12. this. s = s;

13. }

14.

15. public void run() {

16.

17. int count = 0;

18.

19. String ip = s.getInetAddress() .getHostAddress() ;

20. System.out.println(ip + ". . . . . .connected") ;

21.

22. try{

23. InputStream in = s.getInputStream() ;

24.

25. File dir = new File("c:\\pic") ;

26. if(!dir.exists() ) {

27. dir.mkdirs() ;

28. }

29. File file = new File(dir, ip + ".bmp") ;

30.

31. //如果文件已经存在于服务端。

32. while(file.exists() ) {

33. file = new File(dir, ip + "(" + (++count) + ") .bmp") ;

34. }

35.

36. FileOutputStream fos = new FileOutputStream(file) ;

37.

38. byte[] buf = new byte[1024] ;

39.

40. int len = 0;

41.

42. while( (len = in.read(buf) ) != -1) {

43. fos.write(buf,0, len) ;

44. }

45.

46. OutputStream out = s.getOutputStream() ;

47.

48. out.write("上传成功".getBytes() ) ;

49.

50. fos. close() ;

51. s. close() ;

52. }catch(Exception e) {

53. e.printStackTrace() ;

54. }

55. }

56. }

复制代码

UploadServerDemo. java

1. import java. io. IOException;

2. import java.net.ServerSocket;

3. import java.net.Socket;

4. import java. io. InputStream;

5. import java. io.File;

6. import java. io.FileOutputStream;

7. import java. io.OutputStream;

8. import java. io.FileNotFoundException;

9. import java. io. IOException;

10.

11. public class UploadPicServer

12. {

13. public static voidmain(String[] args) throws FileNotFoundException, IOException{

14.

15. ServerSocket ss = new ServerSocket(10006) ;

16.

17. while(true) {

18. Socket s = ss.accept() ;

19. new Thread(new UploadTask(s) ) . start() ;

20. }

21.

22. //ss. close() ;

23. }

24. }

复制代码

. .

数脉科技香港物理机 E3 16G 10M 华为线路165元 阿里云线路 188元 Cera线路 157元

2021年9月中秋特惠优惠促销来源:数脉科技 编辑:数脉科技编辑部 发布时间:2021-09-11 03:31尊敬的新老客户:9月优惠促销信息如下,10Mbps、 30Mbps、 50Mbps、100Mbps香港优质或BGPN2、阿里云线路、华为云线路,满足多种项目需求!支持测试。全部线路首月五折起。数脉官网 https://my.shuhost.com/香港特价数脉阿里云华为云 10MbpsCN...

腾讯云轻量服务器老用户续费优惠和老用户复购活动

继阿里云服务商推出轻量服务器后,腾讯云这两年对于轻量服务器的推广力度还是比较大的。实际上对于我们大部分网友用户来说,轻量服务器对于我们网站和一般的业务来说是绝对够用的。反而有些时候轻量服务器的带宽比CVM云服务器够大,配置也够好,更有是价格也便宜,所以对于初期的网站业务来说轻量服务器是够用的。这几天UCLOUD优刻得香港服务器稳定性不佳,于是有网友也在考虑搬迁到腾讯云服务器商家,对于轻量服务器官方...

2021年全新Vultr VPS主机开通云服务器和选择机房教程(附IP不通问题)

昨天有分享到"2021年Vultr新用户福利注册账户赠送50美元"文章,居然还有网友曾经没有注册过他家的账户,薅过他们家的羊毛。通过一阵折腾居然能注册到账户,但是对于如何开通云服务器稍微有点不对劲,对于新人来说确实有点疑惑。因为Vultr采用的是预付费充值方式,会在每月的一号扣费,当然我们账户需要存留余额或者我们采用自动扣费支付模式。把笔记中以前的文章推送给网友查看,他居然告诉我界面不同,看的不对...

w3cschool 在线教程为你推荐
金士顿内存真假怎么样辨别金士顿内存条真伪百度空间首页百度空间在哪里登入?天玑1000plus和骁龙865哪个好各位觉得联发科最新芯片天机1000靠谱吗?真的能打过麒麟990?锦天城和君合哪个好和君咨询(王明夫为董事长)到底怎么样?有人说很好,空间大;也有人说像待遇差。自然吸气和涡轮增压哪个好汽车涡轮增压好还是自然吸气好帕萨特和迈腾哪个好迈腾和帕萨特哪个好炒股软件哪个好最好的炒股软件是哪个?英语词典哪个好什么英语词典好?网页传奇哪个好玩网页传奇哪个好玩 现在的传奇跟以前玩的都不一样了 总感觉没以前的有激情了车险哪个好私家车买什么保险好
华众虚拟主机管理系统 俄罗斯vps 企业域名备案 域名备案只选云聚达 谷歌域名邮箱 godaddy支付宝 tk域名 怎样建立邮箱 可外链相册 佛山高防服务器 ftp免费空间 鲁诺 免费私人服务器 web服务器搭建 登陆空间 免费稳定空间 乐视会员免费领取 nnt godaddyssl 第八届中美互联网论坛 更多