日期:2014-05-20  浏览次数:20798 次

求高手关于java和dll调用的问题
我写了   一个java的socket通信的类,想要封装成一个.DLL文件(客户端),不知道怎么实现,客户端用c++实现的最好,请教高手解决。
我实现的socketClient代码:

public   class   SocketClient   {

private   Socket   socket;
private   BufferedReader   in;
private   PrintWriter   out;

/**
  *  
  */
public   AllocTimeStampClient()   {
try   {
System.out.println( "Try   to   connect   to   127.0.0.1:3600 ");
//socket   =   new   Socket( "127.0.0.1 ",80);//直接写定Server端的IP
socket   =   new   Socket(InetAddress.getLocalHost(),3600);
System.out.println( "The   Server   Connected! ");
System.out.println( "Please   enter   some   Character: ");
in   =   new   BufferedReader(new   InputStreamReader(socket.getInputStream()));
out   =   new   PrintWriter(socket.getOutputStream(),true);
BufferedReader   wt     =   new   BufferedReader(new   InputStreamReader(System.in));
while(true){
String   str   =   wt.readLine();
System.out.println(str);
out.println(str);
out.flush();
if(str.equals( "end ")||str.equals( "END "))   {
break;
}
}
}catch(IOException   e)   {
e.printStackTrace();
}finally   {
out.close();
try   {
in.close();
}   catch   (IOException   e)   {
e.printStackTrace();
}
try   {
socket.close();
}   catch   (IOException   e)   {
e.printStackTrace();
}
}
}
public   static   void   main(String[]   args)   {
new   AllocTimeStampClient();
}
}
怎么样才能实现一个.DLL的这个功能呀,急!!!,等待在线解答,请详细给出,谢谢。


------解决方案--------------------
dll文件要用c++生成,具体的你可以从网上down一个c写的socket的例子,编译成dll文件
java调用dll需要使用jni,这个也可以从网上down个例子然后改一下,用过挺麻烦的
------解决方案--------------------
你java写的这个socket sever如果是与c++写的socket client连接可能会有问题。我原来就发现过这种错误,看我的帖子http://community.csdn.net/Expert/topic/5446/5446650.xml?temp=.6735651