gprs的udp协议的端口收发程序
我最近写一个关于gprs的udp协议的端口收发程序,遇到点困难,请高手指点,程序如下:
package com.sun;
import java.net.*;
import java.io.*;
public class UdpServer{
public static void main(String[] args) {
Receiver re = new Receiver();
for(int i = 0;i<10;i++){
re.start();
}
/**
if (re.receivedata && false){
try {
UdpServer udse = new UdpServer();
udse.sendnext(re.inet, re.iport);
udse.sleep(1000);
} catch (Exception e) {
System.out.println("data not reveiced successful! "
+ e.getMessage());
}
}
*/
}
private void sendnext(InetAddress itnet, int itport) throws Exception {
String s = "YOU ARE GOOD!";
byte[] byt = new byte[1024];
byt = s.getBytes();
DatagramSocket sendsocket = new DatagramSocket();
DatagramPacket sendpacket = new DatagramPacket(byt, s.length(), itnet,
itport);
sendsocket.send(sendpacket);
}
//public void run(){}
}
class Receiver extends Thread {
public boolean receivedata = false;
public void run() {
while(true){
DatagramSocket socket=null ;
DatagramPacket packet=null;
InetAddress inet;
int iport;
byte[] bt = new byte[1024];
try {
socket = new DatagramSocket(9999);
packet = new DatagramPacket(bt,1024);
} catch (Exception e) {
System.out.println("not builded the socket!");
}
try {
socket.receive(packet);
receivedata = true;
} catch (Exception e) {
System.out.println("not receive data!");
}
inet = packet.getAddress();
iport = packet.getPort();
String streceive = new String(packet.getData(), 0, packet.getLength())
+ " from " + inet + ":" + iport;
if (receivedata) {
System.out.println(streceive);
} else {
System.out.println("not data!");
}
}
}
}