⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 receivmsg.java

📁 Java+Eclipse+Mysql的局域网聊天程序源代码
💻 JAVA
字号:
import java.net.*;
class ReceivMsg implements Runnable
{
	private boolean stop=true;   //停止标志
	private boolean pause=true;  //暂停标志
	private Thread t=null;				
	private QQServer qqs=null;
	//private String Server_addr=null; //服务端地址
	private int Server_port=0;		//服务端口
	public ReceivMsg(int port,QQServer qqs)
	{
		//this.Server_addr=addr;
		this.Server_port=port;
		this.qqs=qqs;
	}
	public void start()         //服务端开始
	{
		if(stop)				//如果是被停止
		{
			stop=false;
			pause=false;
			t=new Thread(this); //创建新线程
			t.start();
		}
		else if(pause)			//如果是被暂停
		{
			pause=false;
		}
		System.out.println("(Server)接收线程启动!");
	}
	public void pause()          //服务端暂停
	{
		pause=true;
		System.out.println("(Server)接收线程暂停!");
	}
	public void stop()           //服务端停止
	{
		stop=true;
		System.out.println("(Server)接收线程停止!");
	}
	public void setPort(int port)
	{
		this.Server_port=port;
	}
	public void run()
	{
		while(!stop)
		{
			if(!pause)
			{
				Receiv();
			}
			else
			{
				try
				{
					t.sleep(100);
				}
				catch(InterruptedException ie)
				{
					System.out.println("ReceivMsg.java");
					ie.printStackTrace();
				}
			}
		}
	}
	public void Receiv()
	{
		DatagramSocket dsocket=null;
		String tempmsg=null;
		try
		{
			byte []buffbytes=new byte[2048];   //缓冲区
			DatagramPacket datapacket=new DatagramPacket(buffbytes,buffbytes.length);
			dsocket=new DatagramSocket(Server_port);
			dsocket.receive(datapacket);
	
			tempmsg=new String(buffbytes,0,datapacket.getLength());
			ProcessMsg pm=new ProcessMsg(tempmsg,qqs);
			pm.start();	
		}
		catch(Exception e)
		{
			e.printStackTrace();
			dsocket.close();
		}
		dsocket.close();
		System.out.println("(Server)接收到一条消息:"+tempmsg);
	}
}

⌨️ 快捷键说明

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