56 lines
2.0 KiB
Java
56 lines
2.0 KiB
Java
|
|
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; }
|
|
}
|