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

复制代码

. .

Gigsgigscloud($9.8)联通用户优选日本软银VPS

gigsgigsCloud日本东京软银VPS的大带宽配置有100Mbps、150Mbps和200Mbps三种,三网都走软银直连,售价最低9.8美元/月、年付98美元。gigsgigscloud带宽较大延迟低,联通用户的好选择!Gigsgigscloud 日本软银(BBTEC, SoftBank)线路,在速度/延迟/价格方面,是目前联通用户海外VPS的最佳选择,与美国VPS想比,日本软银VPS延迟更...

hypervmart:英国/荷兰vps,2核/3GB内存/25GB NVMe空间/不限流量/1Gbps端口/Hyper-V,$10.97/季

hypervmart怎么样?hypervmart是一家国外主机商,成立于2011年,提供虚拟主机、VPS等,vps基于Hyper-V 2012 R2,宣称不超售,支持linux和windows,有荷兰和英国2个数据中心,特色是1Gbps带宽、不限流量。现在配置提高,价格不变,性价比提高了很多。(数据中心不太清楚,按以前的记录,应该是欧洲),支持Paypal付款。点击进入:hypervmart官方网...

CheapWindowsVPS:7个机房可选全场5折,1Gbps不限流量每月4.5美元

CheapWindowsVPS是一家成立于2007年的老牌国外主机商,顾名思义,一个提供便宜的Windows系统VPS主机(同样也支持安装Linux系列的哈)的商家,可选数据中心包括美国洛杉矶、达拉斯、芝加哥、纽约、英国伦敦、法国、新加坡等等,目前商家针对VPS主机推出5折优惠码,优惠后最低4GB内存套餐月付仅4.5美元。下面列出几款VPS主机配置信息。CPU:2cores内存:4GB硬盘:60G...

w3cschool 在线教程为你推荐
2017爱奇艺vip免费领取求免费的爱奇艺会员???华为p40和mate30哪个好荣耀30pro和华为p40对比。,哪个更值得入手?ps软件哪个好哪个PS软件最好用(适合初学者用)?oppo和vivo哪个好vivo和oppo建议买哪个云盘哪个好网络云盘哪个好用云盘哪个好网盘哪个好用?美国国际东西方大学明尼苏达大学(是莫瑞斯分校)和美国东北大学 应该去哪一个 是这个方面的专家回答啊!有偏见性的不要说!51空间登录怎样登51个人空间51个人空间登录51.com个人空间怎么无法登录?飞信空间登录怎样在网上登陆飞信
长春域名注册 n点虚拟主机管理系统 主机点评 最好看的qq空间 智能骨干网 admit的用法 百度云1t 重庆双线服务器托管 酷番云 vip域名 超级服务器 便宜空间 shuang12 cxz 酸酸乳 购买空间 国外代理服务器 好看的空间 双11促销 godaddy中文 更多