sender.java

来自「一个midlet应用模型 非常经典的例子 大家可以看看 非常经典」· Java 代码 · 共 65 行

JAVA
65
字号
/*
 * @(#)Sender.java	1.4 03/03/02
 *
 * Copyright (c) 2004 Sun Microsystems, Inc.  All rights reserved.
 * Use is subject to license terms
 */
package example.datagram;

import javax.microedition.midlet.*;
import javax.microedition.io.*;
import javax.microedition.lcdui.*;

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);
                }
                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 + -
显示快捷键?