server client send files string

Thread Solved

Join Date: Jul 2009
Posts: 3
Reputation: breakid is an unknown quantity at this point 
Solved Threads: 0
breakid breakid is offline Offline
Newbie Poster

server client send files string

 
0
  #1
Jul 3rd, 2009
it copy the file with 0 kb.
can anyone please help me.
I am working in this over a week no progress.

server class
  1.  
  2. package javaapplication29;
  3.  
  4. import java.io.BufferedReader;
  5. import java.io.IOException;
  6. import java.io.InputStreamReader;
  7. import java.io.PrintWriter;
  8. import java.sql.ResultSet;
  9. import java.sql.SQLException;
  10. import java.util.logging.Level;
  11. import java.util.logging.Logger;
  12. import java.net.ServerSocket;
  13. import java.net.Socket;
  14.  
  15. public class Server
  16. {
  17.  
  18. public static void main(String[] args) throws IOException
  19. {
  20. ServerSocket serverSocket = null;
  21. boolean listening = true;
  22. try
  23. {
  24. serverSocket = new ServerSocket(7777);
  25. }
  26. catch (IOException e)
  27. {
  28. System.err.println("Could not listen on port: 7777");
  29. System.exit(1);
  30. }
  31. System.out.println("Multi server ready");
  32. Socket socket = null;
  33.  
  34. while (listening)
  35. {
  36.  
  37. try
  38. {
  39.  
  40. socket = serverSocket.accept();
  41.  
  42. new EchoThread(socket).start();
  43.  
  44. }
  45. catch (IOException e)
  46. {
  47. System.err.println("Accept failed.");
  48. System.exit(1);
  49. }
  50. }
  51. serverSocket.close();
  52. }
  53. }
  54.  
  55. class EchoThread extends Thread
  56. {
  57. // Library lib = new Library();
  58. private Socket socket = null;
  59. public EchoThread(Socket socket)
  60. {
  61. this.socket = socket;
  62.  
  63. }
  64.  
  65. public void run()
  66. {
  67. System.out.println("enter to run1");
  68. Socket incomingConnection = null;
  69. incomingConnection = socket;
  70. ResultSet rs;
  71. PrintWriter out;
  72. BufferedReader in;
  73. String inputLine = null;
  74.  
  75. try
  76. {
  77.  
  78.  
  79. out = new PrintWriter(socket.getOutputStream(), true);
  80. in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
  81. do {
  82.  
  83. inputLine = in.readLine();
  84. System.out.println("the input is----:"+inputLine);
  85. String [] newinputLine = null;
  86. newinputLine = inputLine.split("#");
  87. System.out.println(newinputLine[0]);
  88.  
  89. // /*
  90. // * Add Movie
  91. // * add's new movie to database
  92. // */
  93. // if (newinputLine[0].matches("add movie")){
  94. // lib.addItem(newinputLine[1],newinputLine[2],Integer.parseInt(newinputLine[3]),newinputLine[4],Integer.parseInt(newinputLine[5]),newinputLine[6],newinputLine[7],newinputLine[8],newinputLine[9],Integer.parseInt(newinputLine[10]));
  95. // out.println(inputLine);
  96. // }
  97. // /*
  98. // * Add Song
  99. // * add's new song to database
  100. // */
  101. // else if (newinputLine[0].matches("add song")){
  102. // lib.addItem(newinputLine[1],newinputLine[2],Integer.parseInt(newinputLine[3]),newinputLine[4],Integer.parseInt(newinputLine[5]),newinputLine[6],newinputLine[7],newinputLine[8],newinputLine[9],Integer.parseInt(newinputLine[10]));
  103. // out.println(inputLine);
  104. //
  105. // }
  106. // /*
  107. // * Search by Movies Year
  108. // * returns movie between years ("year 1" and "year 2")
  109. // */
  110. // else if (newinputLine[0].matches("search movies by year")){
  111. // String ReturnString="";
  112. //
  113. // System.out.println(newinputLine[1]);
  114. // rs = lib.searchByYearMovie(Integer.parseInt(newinputLine[1]),Integer.parseInt(newinputLine[2]));
  115. // System.out.println(" first ReturnString:" + ReturnString);
  116. // try {
  117. // while (rs.next()) {
  118. // ReturnString = ReturnString + rs.getString(1) + "#" + rs.getString(2) + "#" + rs.getString(3) + "#" + rs.getString(4) + "#" + rs.getString(5) + "#" + rs.getString(6) + "#" + rs.getString(7) + "#" + rs.getString(8) + "#" + rs.getString(9) + "#" + rs.getString(10) + "@";
  119. // System.out.println("while ReturnString:" + ReturnString);
  120. // }
  121. // } catch (SQLException ex) {
  122. // System.out.println("catch no resaultset");
  123. // Logger.getLogger(EchoThread.class.getName()).log(Level.SEVERE, null, ex);
  124. // }
  125. // System.out.println(ReturnString);
  126. // out.println(ReturnString);
  127. // System.out.println("search Movies by year ends");
  128. // }
  129. // /*
  130. // * Search Songs by Year
  131. // * returns songs between years ("year 1" and "year 2")
  132. // */
  133. // else if (newinputLine[0].matches("search songs by year")){
  134. //
  135. // String ReturnString="";
  136. // System.out.println(" first ReturnString:" + ReturnString);
  137. // System.out.println("newinputLine[1] : "+newinputLine[1]);
  138. // rs = lib.searchByYearSong(Integer.parseInt(newinputLine[1]),Integer.parseInt(newinputLine[2]));
  139. //
  140. // try {
  141. // while (rs.next()) {
  142. // ReturnString = ReturnString + rs.getString(1) + "#" + rs.getString(2) + "#" + rs.getString(3) + "#" + rs.getString(4) + "#" + rs.getString(5) + "#" + rs.getString(6) + "#" + rs.getString(7) + "#" + rs.getString(8) + "#" + rs.getString(9) + "#" + rs.getString(10) + "@";
  143. // System.out.println("while ReturnString:" + ReturnString);
  144. // }
  145. // } catch (SQLException ex) {
  146. // System.out.println("catch no resaultset");
  147. // Logger.getLogger(EchoThread.class.getName()).log(Level.SEVERE, null, ex);
  148. // }
  149. // System.out.println(ReturnString);
  150. //
  151. //
  152. // out.println(ReturnString);
  153. // System.out.println("search Songs by year ends");
  154. // }
  155. // /*
  156. // * Search movie
  157. // * returns all the movies
  158. // */
  159. // else if (newinputLine[0].matches("search movie")){
  160. // String ReturnString="";
  161. // System.out.println(" first ReturnString:" + ReturnString);
  162. // rs = lib.ShowAllMovies();
  163. // try {
  164. // while (rs.next()) {
  165. // ReturnString = ReturnString + rs.getString(1) + "#" + rs.getString(2) + "#" + rs.getString(3) + "#" + rs.getString(4) + "#" + rs.getString(5) + "#" + rs.getString(6) + "#" + rs.getString(7) + "#" + rs.getString(8) + "#" + rs.getString(9) + "#" + rs.getString(10) + "@";
  166. // System.out.println("while ReturnString:" + ReturnString);
  167. // }
  168. // } catch (SQLException ex) {
  169. // System.out.println("catch no resaultset");
  170. // Logger.getLogger(EchoThread.class.getName()).log(Level.SEVERE, null, ex);
  171. // }
  172. // System.out.println(ReturnString);
  173. //
  174. //
  175. // out.println(ReturnString);
  176. // System.out.println("search by name ends");
  177. // }
  178. // /*
  179. // * Search Song
  180. // * returns all the songs
  181. // */
  182. // else if (newinputLine[0].matches("search song")){
  183. // String ReturnString="";
  184. // System.out.println(" first ReturnString:" + ReturnString);
  185. // rs = lib.ShowAllSongs();
  186. //
  187. // try {
  188. // while (rs.next()) {
  189. // ReturnString = ReturnString + rs.getString(1) + "#" + rs.getString(2) + "#" + rs.getString(3) + "#" + rs.getString(4) + "#" + rs.getString(5) + "#" + rs.getString(6) + "#" + rs.getString(7) + "#" + rs.getString(8) + "#" + rs.getString(9) + "#" + rs.getString(10) + "@";
  190. // System.out.println("while ReturnString:" + ReturnString);
  191. // }
  192. // } catch (SQLException ex) {
  193. // System.out.println("catch no resaultset");
  194. // Logger.getLogger(EchoThread.class.getName()).log(Level.SEVERE, null, ex);
  195. // }
  196. // out.println(ReturnString);
  197. // System.out.println("search by name ends");
  198. // }
  199. // /*
  200. // * Search Movies by Category
  201. // * returns all the movies with the same category
  202. // */
  203. // else if (newinputLine[0].matches("search movies by category")){
  204. // String ReturnString="";
  205. // System.out.println(" first ReturnString:" + ReturnString);
  206. // System.out.println(newinputLine[1]);
  207. // rs = lib.searchByCatogorMovie(newinputLine[1]);
  208. //
  209. // try {
  210. // while (rs.next()) {
  211. // ReturnString = ReturnString + rs.getString(1) + "#" + rs.getString(2) + "#" + rs.getString(3) + "#" + rs.getString(4) + "#" + rs.getString(5) + "#" + rs.getString(6) + "#" + rs.getString(7) + "#" + rs.getString(8) + "#" + rs.getString(9) + "#" + rs.getString(10) + "@";
  212. // System.out.println("while ReturnString:" + ReturnString);
  213. // }
  214. // } catch (SQLException ex) {
  215. // System.out.println("catch no resaultset");
  216. // Logger.getLogger(EchoThread.class.getName()).log(Level.SEVERE, null, ex);
  217. // }
  218. // System.out.println(ReturnString);
  219. // out.println(ReturnString);
  220. // System.out.println("Search Movies by Category ends");
  221. //
  222. // }
  223. // /*
  224. // * Search Movies by Name
  225. // * returns all the movies with the same name
  226. // */
  227. // else if (newinputLine[0].matches("search movies by name")){
  228. // String ReturnString="";
  229. // System.out.println(" first ReturnString:" + ReturnString);
  230. // System.out.println(newinputLine[1]);
  231. // rs = lib.searchByNameMovie(newinputLine[1]);
  232. //
  233. // try {
  234. // while (rs.next()) {
  235. // ReturnString = ReturnString + rs.getString(1) + "#" + rs.getString(2) + "#" + rs.getString(3) + "#" + rs.getString(4) + "#" + rs.getString(5) + "#" + rs.getString(6) + "#" + rs.getString(7) + "#" + rs.getString(8) + "#" + rs.getString(9) + "#" + rs.getString(10) + "@";
  236. // System.out.println("while ReturnString:" + ReturnString);
  237. // }
  238. // } catch (SQLException ex) {
  239. // System.out.println("catch no resaultset");
  240. // Logger.getLogger(EchoThread.class.getName()).log(Level.SEVERE, null, ex);
  241. // }
  242. // System.out.println(ReturnString);
  243. // out.println(ReturnString);
  244. // }
  245. //
  246. // /*
  247. // * Search Song by Name
  248. // * returns all the song with the same name
  249. // */
  250. // else if (newinputLine[0].matches("search Song by name")){
  251. // String ReturnString="";
  252. // System.out.println(" first ReturnString:" + ReturnString);
  253. // System.out.println(newinputLine[1]);
  254. // rs = lib.searchByNameSong(newinputLine[1]);
  255. //
  256. // try {
  257. // while (rs.next()) {
  258. // ReturnString = ReturnString + rs.getString(1) + "#" + rs.getString(2) + "#" + rs.getString(3) + "#" + rs.getString(4) + "#" + rs.getString(5) + "#" + rs.getString(6) + "#" + rs.getString(7) + "#" + rs.getString(8) + "#" + rs.getString(9) + "#" + rs.getString(10) + "@";
  259. // System.out.println("while ReturnString:" + ReturnString);
  260. // }
  261. // } catch (SQLException ex) {
  262. // System.out.println("catch no resaultset");
  263. // Logger.getLogger(EchoThread.class.getName()).log(Level.SEVERE, null, ex);
  264. // }
  265. // System.out.println(ReturnString);
  266. // out.println(ReturnString);
  267. // }
  268. //
  269. // /*
  270. // * Search Songs by Category
  271. // * returns all the songs with the same Category
  272. // */
  273. // else if (newinputLine[0].matches("search songs by category")){
  274. //
  275. // String ReturnString="";
  276. // System.out.println(" first ReturnString:" + ReturnString);
  277. // System.out.println(newinputLine[1]);
  278. // rs = lib.searchByCatogorSong(newinputLine[1]);
  279. //
  280. // try {
  281. // while (rs.next()) {
  282. // ReturnString = ReturnString + rs.getString(1) + "#" + rs.getString(2) + "#" + rs.getString(3) + "#" + rs.getString(4) + "#" + rs.getString(5) + "#" + rs.getString(6) + "#" + rs.getString(7) + "#" + rs.getString(8) + "#" + rs.getString(9) + "#" + rs.getString(10) + "@";
  283. // System.out.println("while ReturnString:" + ReturnString);
  284. // }
  285. // } catch (SQLException ex) {
  286. // System.out.println("catch no resaultset");
  287. // Logger.getLogger(EchoThread.class.getName()).log(Level.SEVERE, null, ex);
  288. // }
  289. // System.out.println(ReturnString);
  290. // out.println(ReturnString);
  291. // System.out.println("Search Songs by Category ends");
  292. //
  293. // }
  294. // /*
  295. // * Delite All
  296. // * delets all movie and Song
  297. // */
  298. // else if (newinputLine[0].matches("delete all")){
  299. // lib.removeAll();
  300. // System.out.println("deta base clear");
  301. // out.println(inputLine);
  302. // }
  303. // /*
  304. // * Delite by Name
  305. // * delets one movie by name(works on the id)
  306. // */
  307. // else if (newinputLine[0].matches("delete by name")){
  308. // System.out.println("enter to delete by name" );
  309. // lib.removeItem(newinputLine[1], Integer.parseInt(newinputLine[2]));
  310. // out.println(inputLine);
  311. // }
  312. // /*
  313. // * Send Movie
  314. // * send the file of the movie to server
  315. // */
  316. // else if (newinputLine[0].matches("sends movie")){
  317. // }
  318. // /*
  319. // * Send Song
  320. // * send the file of the song to server
  321. // */
  322. // else if (newinputLine[0].matches("sends song")){
  323. // }
  324. // /*
  325. // * Get Movie
  326. // * download the movie from server
  327. // */
  328. // else if (newinputLine[0].matches("get movie")){
  329. // }
  330. // /*
  331. // * Get Song
  332. // * download the song from server
  333. // */
  334. // else if (newinputLine[0].matches("get song")){
  335. // }
  336. // /*
  337. // * Edit Song
  338. // * Edit Song or Movie to Data Base
  339. // */
  340. // else if (newinputLine[0].matches("edit items")){
  341. // System.out.println( newinputLine[0]);
  342. // lib.editItem(newinputLine[1],newinputLine[2],newinputLine[3],Integer.parseInt(newinputLine[4]),newinputLine[5],Integer.parseInt(newinputLine[6]),newinputLine[7],newinputLine[8],newinputLine[9],newinputLine[10],Integer.parseInt(newinputLine[11]));
  343. // out.println(inputLine);
  344. // }
  345. /*
  346.   * copy file - here is the problem
  347.   * Edit Song or Movie to Data Base
  348.   */
  349.  
  350. System.out.println( "working");
  351. handleConnection(socket);
  352.  
  353. // out.println(inputLine);
  354.  
  355. }
  356. while(inputLine.toUpperCase().equals("END")==false);
  357. out.close();
  358. in.close();
  359. socket.close();
  360. }
  361. catch (IOException e)
  362. {
  363. System.out.println("couldn't read from connection");
  364. }
  365. }
  366. /**
  367. * Interacts with the client Socket to send the contents of the requested
  368. * file to the client.
  369. *
  370. * @param incomingConnection
  371. */
  372. public void handleConnection(Socket connectionToHandle) {
  373. new Thread(new ConnectionHandler(connectionToHandle)).start();
  374. }
  375. }

client class:
  1. /**
  2.  *
  3.  */
  4. package javaapplication29;
  5.  
  6. import java.io.DataInputStream;
  7. import java.io.File;
  8. import java.io.FileOutputStream;
  9. import java.io.IOException;
  10. import java.io.InputStream;
  11. import java.io.PrintWriter;
  12. import java.net.Socket;
  13. import java.net.UnknownHostException;
  14.  
  15. /**
  16.  * The client uses Socket to connect to a server. The server listens on port
  17.  * 3000 with a ServerSocket. The client requests the contents of a file on the
  18.  * server's path.
  19.  *
  20.  * @author Natalie
  21.  *
  22.  */
  23. public class RemoteFileClient {
  24. protected String hostIp;
  25. protected int hostPort;
  26. protected InputStream socketReader;
  27. protected PrintWriter socketWriter;
  28. protected FileOutputStream out;
  29.  
  30. /**
  31. * The Constructor of our class takes an IP address and a port number for a
  32. * remote host and assigns them to instance variables.
  33. */
  34. public RemoteFileClient(String aHostIp, int aHostPort) {
  35. hostIp = aHostIp;
  36. hostPort = aHostPort;
  37. }
  38.  
  39. /**
  40. * main Creates the RemoteFileClient, use it to get the contents of a remote
  41. * file, and then prints the result.
  42. *
  43. * @param args
  44. */
  45. public static void main(String[] args) {
  46. RemoteFileClient remoteFileClient = new RemoteFileClient("127.0.0.1",
  47. 7777);
  48. // Open connection with server
  49. remoteFileClient.setUpConnection();
  50.  
  51. File fileDst = new File("D:\\cool\\Michael Jackson - Pepsi Adverteint.mpg");
  52. remoteFileClient.downloadByteFile("D:\\Michael Jackson - Pepsi Adverteint.mpg",
  53. fileDst);
  54. System.out.println("close the connection with server");
  55. // close the connection with server
  56. remoteFileClient.tearDownConnection();
  57.  
  58. }
  59.  
  60. /**
  61. * Connect to remote server. It will set up our Socket and give us access to
  62. * its streams.
  63. */
  64. public void setUpConnection() {
  65. try {
  66. Socket client = new Socket(hostIp, hostPort);
  67. System.out.println("Multithreaded Client: Connected...");
  68.  
  69. socketReader = client.getInputStream();
  70. socketWriter = new PrintWriter(client.getOutputStream());
  71.  
  72. } catch (UnknownHostException e) {
  73. System.out
  74. .println("Error setting up socket connection: unknown host at "
  75. + hostIp + ":" + hostPort);
  76. } catch (IOException e) {
  77. System.out.println("Error setting up socket connection: " + e);
  78. }
  79. }
  80.  
  81. /**
  82. * Ask the remote server for the contents of file.
  83. *
  84. * @param fileNameToGet
  85. * @return
  86. */
  87. public void downloadByteFile(String fileNameToGet, File fileDst) {
  88.  
  89. // src.RemoteFileClient.createAfileIfNotExists(fileDst);
  90.  
  91. try {
  92. // send request to the host
  93. System.out
  94. .println("Multithreaded Client: send file path to server");
  95. socketWriter.println(fileNameToGet);
  96. socketWriter.flush();
  97. System.out.println("Multithreaded Client: file path has sent");
  98.  
  99. DataInputStream in = new DataInputStream(socketReader);
  100.  
  101. // client send file path to server
  102. out = new FileOutputStream(fileDst);
  103.  
  104. // client got file size from server
  105. System.out.println("Multithreaded Client: wait for file size");
  106. Long fileSize = in.readLong();
  107. System.out.println("Multithreaded Client: got file size");
  108.  
  109. if (fileSize != null) {
  110.  
  111. int received = 0;
  112. byte[] buff = new byte[1024];
  113.  
  114. System.out
  115. .println("Multithreaded Client: starting download...");
  116. long sizeCount = 0;
  117. while (((received = in.read(buff)) > 0)) {
  118. out.write(buff, 0, received);
  119. sizeCount = sizeCount + received;
  120. System.out.println("sent" + sizeCount);
  121.  
  122. if ((sizeCount >= fileSize)) {
  123. break;
  124. }
  125. }
  126. out.close();
  127. System.out
  128. .println("Multithreaded Client: download complete successfully!");
  129. }
  130.  
  131. System.out
  132. .println("Multithreaded Client: notify server about download success.");
  133. socketWriter.println("Got");
  134. socketWriter.flush();
  135. System.out.println("Multithreaded Client: client finished.");
  136.  
  137. in.close();
  138.  
  139. } catch (IOException e) {
  140. System.out.println("Multithreaded Client: Error reading from file "
  141. + fileNameToGet);
  142. } finally {
  143. if (out != null) {
  144. try {
  145. out.close();
  146. } catch (IOException e) {
  147. System.out
  148. .println("Multithreaded Client: Error wile trying to close a file "
  149. + fileDst.getName());
  150. e.printStackTrace();
  151. }
  152. }
  153. }
  154. }
  155.  
  156. /**
  157. * Disconnect from the remote server.
  158. */
  159. public void tearDownConnection() {
  160. try {
  161. socketWriter.close();
  162. socketReader.close();
  163. System.out.println("Multithreaded Client: connection closed");
  164. } catch (IOException e) {
  165. System.out
  166. .println("Multithreaded Client: Error tearing down the connection\n"
  167. + e.getStackTrace());
  168. }
  169. }
  170.  
  171. }

ConnectionHandler class:
  1. /**
  2.  *
  3.  */
  4. package javaapplication29;
  5.  
  6. import java.io.BufferedReader;
  7. import java.io.DataOutputStream;
  8. import java.io.File;
  9. import java.io.FileInputStream;
  10. import java.io.InputStreamReader;
  11. import java.net.Socket;
  12.  
  13.  
  14. /**
  15.  * @author Natalie
  16.  *
  17.  */
  18. public class ConnectionHandler implements Runnable {
  19. Socket socketToHandle;
  20.  
  21. /**
  22. * Constructor
  23. *
  24. * @param aSocketToHande
  25. */
  26. public ConnectionHandler(Socket aSocketToHande) {
  27. socketToHandle = aSocketToHande;
  28. }
  29.  
  30. public void run() {
  31. try {
  32. DataOutputStream streamWriter = new DataOutputStream(socketToHandle
  33. .getOutputStream());
  34. BufferedReader streamReader = new BufferedReader(
  35. new InputStreamReader(socketToHandle.getInputStream()));
  36.  
  37. // Server get file path from client
  38. String fileToRead = streamReader.readLine();
  39. File file = null;
  40.  
  41. if (fileToRead != null) {
  42. file = new File(fileToRead);
  43.  
  44. // Server send file size in bytes to client
  45. streamWriter.writeLong(file.length());
  46. System.out.println(" File Length" + file.length());
  47. }
  48.  
  49. System.out.println("Multithreaded Server: Starting send a file..."
  50. + fileToRead);
  51. FileInputStream fileReader = new FileInputStream(fileToRead);
  52.  
  53. byte[] buff = new byte[1024];
  54. int sent = 0;
  55.  
  56. while ((sent = fileReader.read(buff)) > 0) {
  57. streamWriter.write(buff, 0, sent);
  58. System.out.println("while");
  59. }
  60. fileReader.close();
  61.  
  62. // get message from client if he got a file successfully
  63. String status = streamReader.readLine();
  64. System.out.println("Multithreaded Server: client recieve status "
  65. + status);
  66.  
  67. if (status.equalsIgnoreCase("got")) {
  68. System.out.println("Multithreaded Server: Sent successfully!");
  69. } else {
  70. System.out
  71. .println("Multithreaded Server: Error in sending file!");
  72. }
  73. streamWriter.close();
  74. streamReader.close();
  75.  
  76. System.out.println("Multithreaded Server: Stoped...");
  77. } catch (Exception e) {
  78. System.out
  79. .println("Multithreaded Server: Erro handling a client\n "
  80. + e.getStackTrace());
  81. }
  82.  
  83. }
  84.  
  85. }
Reply With Quote Quick reply to this message  
Join Date: Aug 2006
Posts: 9
Reputation: ede is an unknown quantity at this point 
Solved Threads: 2
ede's Avatar
ede ede is offline Offline
Newbie Poster

Re: server client send files string

 
0
  #2
Jul 4th, 2009
Hi,

I found your mistake! After client sent the file name you first read it. And second time you try to read file name from client but client already wrote it. So server waits client to write the file name.

I changed EchoThread class a bit and it worked!

EchoThread is as follows:
  1. class EchoThread extends Thread {
  2. private Socket socket = null;
  3.  
  4. public EchoThread(Socket socket) {
  5. this.socket = socket;
  6. }
  7.  
  8. public void run() {
  9. // now we are not reading file name here (!)
  10. System.out.println("working");
  11. handleConnection(socket);
  12. }
  13.  
  14. public void handleConnection(Socket connectionToHandle) {
  15. new Thread(new ConnectionHandler(connectionToHandle)).start();
  16. }
  17.  
  18. }

goodbye
Last edited by ~s.o.s~; Jul 4th, 2009 at 4:03 pm. Reason: Added code tags, learn to use them.
Reply With Quote Quick reply to this message  
Reply

This thread has been marked solved.
Perhaps start a new thread instead?
Message:


Thread Tools Search this Thread



About Us | Contact Us | Advertise | DaniWeb | Acceptable Use Policy | RSS Feed

©2003 - 2009 DaniWeb® LLC