代码黑马程序员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. }

复制代码

. .

HostYun全场9折,韩国VPS月付13.5元起,日本东京IIJ线路月付22.5元起

HostYun是一家成立于2008年的VPS主机品牌,原主机分享组织(hostshare.cn),商家以提供低端廉价VPS产品而广为人知,是小成本投入学习练手首选,主要提供基于XEN和KVM架构VPS主机,数据中心包括中国香港、日本、德国、韩国和美国的多个地区,大部分机房为国内直连或者CN2等优质线路。本月商家全场9折优惠码仍然有效,以KVM架构产品为例,优惠后韩国VPS月付13.5元起,日本东京...

atcloud:480G超高防御VPS低至$4/月,美国/新加坡等6机房,512m内存/1核/500g硬盘/不限流量

atcloud主要提供常规cloud(VPS)和storage(大硬盘存储)系列VPS,其数据中心分布在美国(俄勒冈、弗吉尼亚)、加拿大、英国、法国、德国、新加坡,所有VPS默认提供480Gbps的超高DDoS防御+不限流量,杜绝DDoS攻击骚扰,比较适合海外建站等相关业务。ATCLOUD.NET是一家成立于2020年的海外主机商,主要提供KVM架构的VPS产品、LXC容器化产品、权威DNS智能解...

cera:秋季美国便宜VPS促销,低至24/月起,多款VPS配置,自带免费Windows

介绍:819云怎么样?819云创办于2019,由一家从2017年开始从业的idc行业商家创办,主要从事云服务器,和物理机器819云—-带来了9月最新的秋季便宜vps促销活动,一共4款便宜vps,从2~32G内存,支持Windows系统,…高速建站的美国vps位于洛杉矶cera机房,服务器接入1Gbps带宽,采用魔方管理系统,适合新手玩耍!官方网站:https://www.8...

w3cschool 在线教程为你推荐
江门旅游景点哪个好玩的地方江门有什么地方好玩的?少儿英语哪个好少儿英语哪个好浏览器哪个好用哪款浏览器好用浮动利率和固定利率哪个好银行贷款是选固定利率好还是浮动利率录音软件哪个好录音软件哪个好用又简单等额本息等额本金哪个好等额本金和等额本息哪个划算?如果想在5-10年内还清贷款哪类更划算一些?看书软件哪个好有什么好的读书软件啊?行车记录仪哪个好行车记录仪哪个好云盘哪个好免费的网盘哪个好?更大、更安全、更实用?qq空间登录qq空间如何登陆
申请域名 动态域名解析 便宜域名注册 网页空间租用 新加坡主机 yardvps cloudstack 10t等于多少g 韩国电信 谷歌香港 轻量 北京双线 双十一秒杀 昆明蜗牛家 华为云盘 1元域名 宏讯 美国迈阿密 创速 腾讯服务器 更多