import java.io.*; import java.net.*; import java.util.*; public class KaZaClient { public static final int LISTEN_PORT = 3443; private String m_sharedFolder; private boolean m_connected = false; private Socket m_socket; public KaZaClient(String userName, int kbps, String sharedFolder, String server) { m_sharedFolder = sharedFolder; try { m_socket = new Socket(server, KaZaServer.LISTEN_PORT); DataOutputStream os = new DataOutputStream( m_socket.getOutputStream()); os.writeBytes("HELO " + userName + "\n"); os.writeBytes("SPED " + kbps + "\n"); File sharedDir = new File(m_sharedFolder); if (sharedDir.isDirectory()) { String[] files = sharedDir.list(); for (String fName : files) { if (fName.endsWith(".kaza")) { /* we found a description file, publish this file */ FileInputStream fis = new FileInputStream(m_sharedFolder + File.separator + fName); BufferedReader br = new BufferedReader( new InputStreamReader(fis)); String sharedFileName = br.readLine(); String sharedFileDesc = br.readLine(); os.writeBytes("DESC " + sharedFileName + "\n" + sharedFileDesc + "\n"); } } } } catch (Exception e) { return; } Thread fsThread = new Thread(new FileServer(LISTEN_PORT, m_sharedFolder)); m_connected = true; } public boolean connected() { return m_connected; } }