communicate.java

来自「用socket编写的白板」· Java 代码 · 共 56 行

JAVA
56
字号
package test;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
import java.util.Enumeration;
import java.util.Hashtable;
import test.*;

public class Communicate implements Runnable
{

 private Socket sockct;
 private Hashtable sockets;
 private InputStream is;
 
 
 public Communicate(Socket sockct, Hashtable sockets) throws IOException
 {
  this.sockct = sockct;
  this.sockets = sockets;
  is  = sockct.getInputStream();
 }
 
 public void run()
 {
  byte[] b = new byte[20];
  while(true)
  {
   try
   {
    //接收该客户机的绘制信息
    is.read(b, 0, 20);
    Enumeration enumeration = sockets.elements();
    
    while(enumeration.hasMoreElements())
    {
     Object object = enumeration.nextElement();
     Socket socketAllClient = (Socket)object;
     if(sockct != socketAllClient)
     {
      //向其他客户机发送信息
      OutputStream osAllClient = socketAllClient.getOutputStream();
      osAllClient.write(b, 0, 20);
     }
    }
   }
   catch (IOException e)
   {
    e.printStackTrace();
   }
  }
 }
 
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?