Tag: java

从Java调用C#dll方法

有没有人知道我试图从我的Java代码中的C#dll调用方法有什么问题? 这是我的例子: Java代码: public class CsDllHandler { public interface IKeywordRun extends Library { public String KeywordRun(String action, String xpath, String inputData, String verifyData); } private static IKeywordRun jnaInstance = null; public void runDllMethod(String action, String xpath, String inputData, String verifyData) { NativeLibrary.addSearchPath(${projectDllName}, “${projectPath}/bin/x64/Debug”); jnaInstance = (IKeywordRun) Native.loadLibrary( ${projectDllName}, IKeywordRun.class); String csResult = jnaInstance.KeywordRun(action, xpath, inputData, […]

Unity的Android插件给出了错误

我正在做一个测试应用程序,以了解我们如何通过插件使用java代码统一使用java代码。 我在eclipse中使用Android 3.2创建了一个简单的Android Activity类。 package com.control.unitycontrol; import com.unity3d.player.UnityPlayerActivity; import android.os.Bundle; import android.util.Log; import android.widget.Toast; public class MainActivity extends UnityPlayerActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.d(“TEST”,”Foo method is called is called 1111″); } public static void foo(){ Log.d(“TEST”,”Foo method is called is called 2222″); // this method is never called }} 这是我的AndroidManifest.xml 根据教程,我将classes.jar复制到我的libs文件夹,然后将其添加到我的类路径中。 […]

偶尔以错误的顺序接收TCP数据并且不完整

我用Java创建了TCP Server应用程序,用C#创建了一个客户端应用程序。 当我发送数据时,客户端有时会无序地接收数据,有时会完全丢失部分。 基本上,我在服务器(java)中使用的代码看起来像这样(剥离): ServerSocket welcomeSocket = new ServerSocket(port); Socket connectionSocket = welcomeSocket.accept(); outputStream = new DataOutputStream(socket.getOutputStream()); //Create stream outputStream.writeBytes(message + “\n”); outputStream.flush(); 我使用“\ n”作为分隔符。 在客户端(C#)我使用以下代码: private const char Delimiter = ‘\n’; tcpclnt = new TcpClient(); tcpclnt.NoDelay = true; tcpclnt.Client.DontFragment = true; tcpclnt.Connect(ip, port); //This function is executed in a separate thread public void Receive() […]

如何在Java Android Studio中的新线程上启动进程? (要求相当于C#代码)

我在C#代码上使用此例程来启动/停止/重新启动另一个线程上的某个函数: using System.Threading; using System.Threading.Tasks; namespace ConsoleApplication3 { class Program { static void Main(string[] args) { var CancelationToken = new CancellationTokenSource(); // declare and initialize a token for the cancelaion while (something) { if (Whatever) { CancelationToken = new CancellationTokenSource(); // re initialize if wanted to restart Task.Run(() = > Process(), CancelationToken.Token); //start a method […]

读取从C#客户端发送的ObjectInputStream时出现“StreamCorruptedException:invalid stream header”

问题 我正在尝试从C#客户端向此Java Server发送protobuf消息,但是我得到了以下exception: java.io.StreamCorruptedException: invalid stream header: 0A290A08 java.io.StreamCorruptedException: invalid stream header: 0A290A08 at java.io.ObjectInputStream.readStreamHeader(Unknown Source) at java.io.ObjectInputStream.(Unknown Source) 说实话,我有点不知所措。 任何帮助表示赞赏。 谢谢! Java服务器 public ControllerThread(Socket s){ this.s = s; try { this.objectInputStream = new ObjectInputStream(s.getInputStream()); byte size = objectInputStream.readByte();System.out.println(“Server: BYTES SIZE:” + size); byte[] bytes = new byte[size]; objectInputStream.readFully(bytes); AddressBook adb = AddressBook.parseFrom(bytes); System.out.println(“Server: Addressbook:” […]

什么是Java的BitSet的C#等价物?

我的要求很简单: 能够定义位数组的维度,即:5个字节。 bool Get(bitIndex:int) 设置(bitIndex:int) 是否有ac#等效,它提供与Java中的BitSet类似的function? 这是场景: 初始化5个字节,所有位都为0(假)。 将字节3,位8设置为TRUE。 获取字节3,位8的状态。 更新 :Michael Bray的解决方案: static void Main(string[] args) { // Set for 5 bytes BitArray ba = new BitArray(8 * 5); // Set bit #1 on byte #4 ba.Set(GetBitNum(4, 1), true); // Get bit #1 on byte #4 bool v = ba.Get(GetBitNum(4, 1)); } static int […]

如何处理长AJAX请求 – 发送响应但继续工作

我们使用jquery-ajax将指令集从浏览器发送到多层Web应用程序。 第一个组件(组件A,用C#编写)validation并将指令持久存储到数据库中,然后调用第二个组件(组件B,用Java编写,也通过HTTP调用),该组件在从指令中检索后对指令进行操作数据库。 浏览器客户端在提交作业后只通过组件A轮询rdbms表,因此在发送请求后它实际上已断开连接,并且不等待组件A的响应。 中间层(组件A)将成功消息返回给客户端以确认成功提交任务的最佳方式是什么,但仍然向请求处理程序(组件B)发出请求并释放其所有资源? 返回响应是页面的最终操作,因此在将其发送回浏览器之前,我们必须在另一个线程中执行某些操作。 我们考虑的另一个选择是在组件B中发生这种情况,其中任务处理程序向中间层发送回立即响应以确认请求,但随后继续在后台工作。 唯一的区别是我们产生额外线程来完成工作。 关于如何处理这个问题的任何好主意?

在for循环声明中初始化变量的范围实际上不仅仅是块范围吗?

考虑带有计数器的for循环: for (int i = 0; i < 100; i++ /* `i` is visible here */) { /* `i` is visible here */ } /* `i` not visible here */ 一切都很好。 我们说i有“阻止”范围。 但是,为什么在i++中无法访问在for循环中声明的变量? 例如,为什么j不在此范围内,当它还具有“阻止”范围并且在i += j之前的时间段内声明? for (int i = 0; i < 100; i += j /* only `i` is visible here */) { […]

如何在Java中声明全局静态类?

在C#中,我可以创建一个这样的类: static class clsDBUtils { public static SQLiteCommand cmd; public static SQLiteConnection conn; public static String databaseFilePath; public static bool getConnection() { } } 然后我的命名空间中的任何地方都可以使用这种方式进 clsDBUtils.getConnection(); 如何为Java重写? 我不想用: clsDBUtils sqlutil= new clsDBUtils();

字符串文字和字符文字可以连接吗?

为什么name在以下C ++代码中出现exception? string name = “ab”+’c’; 等效代码在Java / C#中的行为如何?