Java线程及TCP编程
发布时间:2021-05-21 07:06:22 所属栏目:大数据 来源: https://www.jb51.cc
导读:线程 进程由线程组成,多线程可以实现多个任务的同时运行,是网络编程的必要一环 普通线程 1 class Mythread implements Runnable{ 2 private String name; 3 public Mythread(String nn){ 4 this .name=nn; // 对象标识 5 } 6 7 @Override 8 public void ru
线程进程由线程组成,多线程可以实现多个任务的同时运行,是网络编程的必要一环 普通线程 1 class Mythread implements Runnable{ 2 private String name; 3 public Mythread(String nn){ 4 this.name=nn;//对象标识 5 } 6 7 @Override 8 public void run() { 9 启动线程后自动执行的内容 10 for(int i=0;i<100;i++) { 11 try { 12 Thread.sleep(200); 13 System.out.println(name+"===>"+i); 14 } catch (InterruptedException e) { 15 e.printStackTrace(); 16 } 17 } 18 } 19 } 20 21 class Main{ 22 static main(String[] args) { 23 Thread t1=new Thread(new Mythread("A"));创建线程对象1 24 Thread t2=new Mythread("B"));创建线程对象2 25 t1.start();启动线程 26 t2.start(); 27 28 } 匿名线程 3 匿名线程----------- new Thread() { 5 6 7 8 9 Thread.sleep(20010 System.out.println("===>"+11 } 12 13 } 14 } 16 }.start();启动 18 } TCP编程TCP客户端 import java.io.InputStream; 2 java.io.OutputStreamWriter; 3 java.io.PrintWriter; 4 java.net.Socket; MySocket{ 6 Socket sock; 7 InputStream reader; PrintWriter writer; 9 private boolean Runtobool; 10 启动socket客户端 11 MySocket() { 12 连接socket 13 { 14 sock=new Socket("192.168.2.110",800115 writer=new PrintWriter(new OutputStreamWriter(sock.getOutputStream()));获取输出流 16 reader=sock.getInputStream();获取输入流获取输入流 17 写数据,发送数据 18 writer.write("-东小东-" writer.flush(); 20 开始读数据 21 Runtobool=true; 22 startServ(); 23 }(Exception e){ 24 Runtobool=false25 System.out.println("open socket err" } 28 接收数据函数 29 startServ(){ 30 匿名线程 31 Thread(){ 32 run(){ 33 34 接收缓冲区 35 byte[] bytes = new byte[1024]; 36 while(Runtobool){ 37 接收函数,此函数会阻塞 38 while((reader.read(bytes,bytes.length))!=-1){ 39 String datax=new String(bytes,"gbk"40 System.out.println("收到数据:"+datax); 41 bytes = byte[1024];清空数组的内容,必须 42 43 接收为空时进入 44 System.out.println("server break err"45 Runtobool=46 47 }48 Runtobool=49 System.out.println("rev socket err"50 }} 51 }.start(); 52 53 54 55 56 MySocket(); 57 58 } TCP服务器 java.net.ServerSocket; 6 ServerSocket sockser; 12 13 14 15 16 sockser=new ServerSocket(8001);监听端口8001 17 sock=sockser.accept();阻塞等待客户接入 18 writer=19 reader=sock.getInputStream();21 writer.write("-东小东-"23 24 Runtobool=25 26 }27 Runtobool=28 System.out.println("open socket err"29 30 31 32 39 40 41 42 String datax=43 System.out.println(sock.getRemoteSocketAddress()+"==>收到数据:"+44 bytes = 45 46 47 System.out.println("client server break err"48 Runtobool=49 50 }51 Runtobool=52 System.out.println("rev socket err"55 56 58 59 60 61 } TCP服务器改进版 11 14 ServerSocket sockser=while(16 Socket sock=sockser.accept(); startServ(sock); 19 }20 System.out.println("open socket err" } 23 }.start(); 24 25 26 startServ(Socket sock){ 27 28 PrintWriter writer=29 InputStream reader=sock.getInputStream();30 31 writer.write("-东小东-"32 writer.flush(); 33 34 35 36 boolean Runtobool=; 37 38 39 ]; 40 41 42 43 String datax=44 System.out.println(sock.getRemoteSocketAddress()+"==>收到数据:"+45 bytes = 47 48 System.out.println("client server break err"49 Runtobool=51 }52 Runtobool=53 System.out.println("rev socket err" }} }.start(); 56 57 }(Exception e) { 58 System.out.println("异常-----"59 61 62 63 64 65 66 } (编辑:北几岛) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读