sender.java

来自「j2me学习 简单例子」· Java 代码 · 共 61 行

JAVA
61
字号
package example.demowireless.datagram;

import javax.microedition.io.Datagram;
import javax.microedition.io.DatagramConnection;

/**
 * <p>
 * J2ME Socket Demo -- Client
 * </p>
 * 
 * @author 刘光辉
 * @version 2009.02.04
 */
public class Sender extends Thread {
	private DatagramConnection dc;
	private String address;
	private String message;

	public Sender(DatagramConnection dc) {
		this.dc = dc;
		start();
	}

	public synchronized void send(String addr, String msg) {
		address = addr;
		message = msg;
		notify();
	}

	public synchronized void run() {
		while (true) {
			// If no client to deal, wait until one connects
			if (message == null) {
				try {
					wait();
				} catch (InterruptedException e) {
				}
			}
			try {
				byte[] bytes = message.getBytes();
				Datagram dg = null;
				// Are we a sender thread for the client ? If so then there's
				// no address parameter
				if (address == null) {
					dg = dc.newDatagram(bytes, bytes.length);
				} else {
					dg = dc.newDatagram(bytes, bytes.length, address);
					System.out.println(address);
				}
				dc.send(dg);
			} catch (Exception ioe) {
				ioe.printStackTrace();
			}
			// Completed client handling, return handler to pool and
			// mark for wait
			message = null;
		}
	}

}

⌨️ 快捷键说明

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