gvsu/cs654/proj1/KaZaClient.java
josh 6b5cde51da Client reading .kaza description files
git-svn-id: svn://anubis/gvsu@43 45c1a28c-8058-47b2-ae61-ca45b979098e
2008-03-08 23:13:18 +00:00

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; }
}