title: How can I write the client socket stream which connects to local file for sending and receiving packets
body: <p>How to write this socket stream on local file system client in Java? </p>
  
  <p>Python works:</p>
  
  <pre><code># Echo server program
  import socket,os
  
  s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
  try:
      os.remove("/tmp/socketname")
  except OSError:
      pass
  s.bind("/tmp/socketname")
  s.listen(1)
  conn, addr = s.accept()
  while 1:
      data = conn.recv(1024)
      if not data: break
      conn.send(data)
  conn.close()
  
  
  # Echo client program
  import socket
  s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
  s.connect("/tmp/socketname")
  s.send('Hello, world')
  data = s.recv(1024)
  s.close()
  print 'Received', repr(data)
  </code></pre>
  
  <p>Java:</p>
  
  <pre><code>  /* Client: how do you mention the /tmp/socketname? */
    public static String localsendTCPBytes(String bytes) throws IOException {
      String downloaded = null;
      Socket socket = new Socket("localhost", 58888);
      DataOutputStream upload = new DataOutputStream(socket.getOutputStream());
      BufferedReader download = new BufferedReader(new InputStreamReader(socket.getInputStream()));
  
      String caps = bytes;
      upload.writeBytes(caps);
      upload.flush();
      String get;
      downloaded = download.readLine();
      System.out.println("[TCP]: downloading: " + downloaded);
      socket.close();
      return downloaded;
    }
  </code></pre>
  
  <p><strong>Follow up:</strong></p>
  
  <p>1) Import jar and attach to the project:</p>
  
  <p><a href="http://code.google.com/p/junixsocket/downloads/detail?name=junixsocket-1.3-bin.tar.bz2&amp;can=2&amp;q=" rel="noreferrer">JUnixsocket - download JAR</a></p>
  
  <p>2) Unitest Java client code</p>
  
  <pre><code>import java.io.File;
  import java.io.IOException;
  import java.io.InputStream;
  import java.io.OutputStream;
  import org.newsclub.net.unix.AFUNIXSocket;
  import org.newsclub.net.unix.AFUNIXSocketAddress;
  import org.newsclub.net.unix.AFUNIXSocketException;
  
  public class SimpleTestClient {
    public static void main(String[] args) throws IOException {
      final File socketFile = new File("/tmp/socketname");
      AFUNIXSocket sock = AFUNIXSocket.newInstance();
      try {
        sock.connect(new AFUNIXSocketAddress(socketFile));
      } catch (AFUNIXSocketException e) {
        System.out.println("Cannot connect to server. Have you started it?");
        System.out.flush();
        throw e;
      }
      System.out.println("Connected");
      InputStream is = sock.getInputStream();
      OutputStream os = sock.getOutputStream();
      byte[] buf = new byte[128];
      int read = is.read(buf);
      System.out.println("Server says: " + new String(buf, 0, read));
      System.out.println("Replying to server...");
      os.write("Hello Server".getBytes());
      os.flush();
      os.close();
      is.close();
      sock.close();
      System.out.println("End of communication.");
    }
  }
  </code></pre>
  
  <p>3) Build/compile problem:</p>
  
  <pre><code>java.lang.UnsatisfiedLinkError: Could not load junixsocket library, tried [/opt/newsclub/lib-native/libjunixsocket-linux-1.6-amd64.so, /opt/newsclub/lib-native/libjunixsocket-linux-1.5-amd64.so, lib:junixsocket-linux-1.6-amd64, lib:junixsocket-linux-1.5-amd64]; please define system property org.newsclub.net.unix.library.path
      at org.newsclub.net.unix.NativeUnixSocket.load(NativeUnixSocket.java:95)
      at org.newsclub.net.unix.NativeUnixSocket.&lt;clinit&gt;(NativeUnixSocket.java:105)
      at org.newsclub.net.unix.AFUNIXSocket.&lt;init&gt;(AFUNIXSocket.java:36)
      at org.newsclub.net.unix.AFUNIXSocket.newInstance(AFUNIXSocket.java:50)
      at unixdomainsocket.SimpleTestClient.main(SimpleTestClient.java:26)
  Caused by: java.lang.UnsatisfiedLinkError: no junixsocket-linux-1.5-amd64 in java.library.path
      at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1681)
      at java.lang.Runtime.loadLibrary0(Runtime.java:840)
      at java.lang.System.loadLibrary(System.java:1047)
      at org.newsclub.net.unix.NativeUnixSocket.load(NativeUnixSocket.java:77)
      ... 4 more
  Exception in thread "main" java.lang.NoClassDefFoundError: Could not initialize class org.newsclub.net.unix.NativeUnixSocket
      at org.newsclub.net.unix.AFUNIXSocketImpl.connect(AFUNIXSocketImpl.java:125)
      at org.newsclub.net.unix.AFUNIXSocket.connect(AFUNIXSocket.java:97)
      at org.newsclub.net.unix.AFUNIXSocket.connect(AFUNIXSocket.java:87)
      at unixdomainsocket.SimpleTestClient.main(SimpleTestClient.java:28)
  Java Result: 1
  </code></pre>
  
  <p>4) Solution:</p>
  
  <pre><code>-Djava.library.path=/usr/lib/jni -Djava.library.path=/usr/lib/rxtx -Djava.security.policy=applet.policy -Djava.library.path=/var/tmp/screwyou/jar/lib-native
  </code></pre>
  
  <p>Works!</p>