messagepatchthread.java

来自「基于JSP的网络聊天室系统,功能明了易懂」· Java 代码 · 共 79 行

JAVA
79
字号
package chat;

import chat.*;
import java.util.*;
import java.sql.*;
import java.net.*;
import java.io.*;

/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2002</p>
 * <p>Company: </p>
 * @author not attributable
 * @version 1.0
 */

public class MessagePatchThread extends Thread {
  DatagramPacket sendpacket;//声明发送和接收数据包
   DatagramSocket sendsocket;//声明接收DatagramSocket

  String message=new String();          //要发送的消息
  UserTempInfo usertemp=new UserTempInfo();  //要发送的人的信息
  public MessagePatchThread(UserTempInfo Info,String mes) {
      message=mes;
      usertemp=Info;
  }
  public MessagePatchThread() {

  }

  public void sendSinglepac(String pac,String name)
  {
     usertemp=(UserTempInfo) WholeChatRoomInfo.getinfobyName(name);
     sendMessagepac(pac);

  }
  public void sendAllpac(String pac,String name)
  {
    int num=0;
    num= WholeChatRoomInfo.finduserRoom(name);
    RoomInfo rInfo = new RoomInfo();
    rInfo = (RoomInfo) WholeChatRoomInfo.rooms.elementAt(num);
    for (int i = 0; i < rInfo.user.size(); i++)
    {
      usertemp = (UserTempInfo) rInfo.user.elementAt(i);
      sendMessagepac(pac);
    }
  }

  public void sendsocketpac(DatagramPacket receive,String pac)
  {
    usertemp.IP=receive.getAddress();
    usertemp.port=receive.getPort();
    sendMessagepac(pac);
  }
  public void sendMessagepac(String pac)
  {
     try{
       byte Array[]=new byte[255];
       Array=pac.getBytes();
       //ChatFrame.textArea1.append(pac);
       sendsocket=new DatagramSocket();//初始化
       sendpacket=new DatagramPacket(Array,Array.length ,//InetAddress.getByName("127.0.0.1"),3550);
                                     usertemp.IP,usertemp.port);
                                     //receivepacket.getAddress(),receivepacket.getPort());
       sendsocket.send(sendpacket);
     }
     catch(Exception e)
     {

     }
  }
  public void run()
  {
    sendMessagepac(message);
  }

}

⌨️ 快捷键说明

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