001    package org.server;
002    
003    import java.net.*;
004    import java.io.*;
005    import java.util.*;
006    import javax.swing.*;
007    import javax.swing.event.*;
008    import org.util.xml.io.*;
009    import org.util.xml.element.*;
010    import org.realobject.*;
011    
012    public class SoccerClient {
013    
014            InetSocketAddress address_;
015            EcoBe ecobe_;
016            DatagramPacket packet_;
017            
018            public SoccerClient(InetSocketAddress address, EcoBe ecobe) throws Exception {
019                    address_ = address;
020                    ecobe_ = ecobe;
021                    packet_ = new DatagramPacket(new byte[0], 0, address);
022            }
023            public void received(DatagramPacket packet) throws Exception {
024                    String message = new String(packet.getData(), 0, packet.getLength());
025                    TagElement tag = XMLIO.read(new StringBuffer(message));
026                    if(tag == null) {
027                            System.out.println(" error: tag is null: "+message);
028                            return ;
029                    }
030                    if(tag.getKey().equals("connect")) {
031                            if(!tag.getValue().equals("true"))
032                                    System.out.println("error: client received connect false.");
033                    } else {
034                            received(tag);
035                    }
036            }
037            public void received(TagElement tag) {
038            
039    //              System.out.println(tag);
040            }
041            public DatagramPacket createPacket(String message) {
042                    byte[] send_buf = message.getBytes();
043                    packet_.setData(send_buf);
044                    return packet_;
045            }
046            
047            public EcoBe getEcoBe() {
048                    return ecobe_;
049            }
050            
051            public InetSocketAddress getAddress() {
052                    return address_;
053            }
054            
055            public String toString() {
056                    return "SoccerClient["+address_+","+ecobe_+"]";
057            }
058    }