public void send(byte[] d, int len) {
		short MSS = 1000;
		int num = (len + MSS - 1) / MSS;
		
		Object[] data = new Object[num];
		short[] length = new short[num];
		
		for (int i = 0; i < num; i++) {
			if (i < num - 1) {
				byte[] dataSegment = new byte[MSS];
				for (int j = 0; j < MSS; j++) {
					dataSegment[j] = d[j + i * MSS];
				}
				data[i] = dataSegment;
				length[i] = MSS;
			} else {
				byte[] dataSegment = new byte[len - MSS * i];
				for (int j = 0; j < len - MSS * i; j++) {
					dataSegment[j] = d[j + i * MSS];
				}
				data[i] = dataSegment;
				length[i] = (short)(len - MSS * i);
			}
		}
		sendDatagram(data, length);		
	}