我做了一個java程序只是爲了好玩這個程序允許您使用的第一臺計算機的鼠標來控制計算機秒鼠標。所以每次鼠標移動時,光標的x和y都會發送到客戶端應用程序。然後使用機器人類來移動鼠標。現在我正在使用套接字進行通信,它真的很慢什麼是一種更好的方式來做到這一點,任何幫助都會有所幫助。如果可能的話,請提供一些代碼 感謝什麼是在兩個應用程序之間進行通信的最佳和最快的方式?
回答
如果這兩個應用程序現場在不同的虛擬機,然後通過套接字通信是一個非常不錯的辦法。
如果實在是太慢了,你可以使用UDP協議,而不是TCP/IP
- ,性能可能會出現死亡。
考慮到你這個答案評論:
當你發送字節通過套接字,如果編碼鼠標位置byte
值,而然後String
性能會有所提高:
int x = getX();
int y = getY();
// let's assume we have a 16Bit/2Byte range for both values (practica)
byte[] message = new byte[4];
message[0] = (byte) (x >> 8) & 0xff;
message[1] = (byte) x & 0xff;
message[2] = (byte) (y >> 8) & 0xff;
message[3] = (byte) y & 0xff;
sendViaSocket(message);
(它開始,並與一些魔術結束,則點是編碼)
顯示我們從您發送/接收方法的一些代碼 - 有可能是*改進的餘地* –
我不知道這甚至是一個有效的問題,但我依然會問。什麼,我幾乎做的是發送x和y的字符串客戶端,然後解析字符串,鼠標移動到指定的x和y這是一個很好的形式給出,還是有一個更好? –
我猜套接字是你最好的選擇。你可以嘗試研究關於JFS(Java的快速Sockets)的更多信息是從拉科魯尼亞在西班牙大學的一個項目,但我不知道他們是如何走多遠吧。更多信息here
謝謝指出,我會研究它 –
有兩臺機器之間的進程間通信許多方面 - 但我不認爲任何人會比原始套接字更快,將鼠標事件工作:
- 使用JMS隊列
- 使用DB
- 使用WS
- 1. 與Windows應用程序之間進行通信的最佳方式是什麼?
- 2. 用C#在兩個進程之間進行通信的最佳方式是什麼?
- 3. 什麼是PC和USB設備之間進行通信的最佳方式
- 4. 2 .Net應用程序之間進行通信的最佳方式?
- 5. ViewModel和Controller之間進行通信的最佳方式
- 6. Android應用程序和JavaFX應用程序之間進行通信的最佳方式
- 7. 什麼是與Firefox插件進行通信的最佳方式
- 8. 在Tomcat容器中應用程序之間進行通信的最佳解決方案是什麼?
- 9. 龍捲風和基於Python的守護進程之間進行通信的最佳方式是什麼?
- 10. C和C#應用程序之間IPC最快的方式是什麼?
- 11. 兩臺服務器之間通信的最佳方式是什麼?
- 12. C++和c之間進行通信的最快方法#
- 13. 在android應用程序之間傳遞數據的最佳方式是什麼?
- 14. Akka.Net:在兩個或多個獨立羣集之間進行通信的最佳方法是什麼?
- 15. 設備之間最快的通信形式是什麼?
- 16. 什麼是WCF服務和獨立線程之間進行通信的最佳方式?
- 17. 什麼是通過RESTful-Http與iPhone應用程序中的Web服務進行通信的最佳方式
- 18. 什麼是兩個C#應用程序(32位和64位)之間的IPC的最佳方式
- 19. 在同一臺計算機上運行的Java應用程序之間進行通信的最佳方式
- 20. mmap是進程間通信的最佳方式嗎?
- 21. .NET進程間通信的最佳選擇是什麼?
- 22. 進程間通信的最佳途徑是什麼?
- 23. 在活動和片段之間進行通信的最佳方式
- 24. 在SWT中,父shell和非對話子shell之間進行通信的最佳方式是什麼?
- 25. 在Android中,服務和BroadcastReceiver之間進行通信的最佳方式是什麼?
- 26. 存儲應用程序信息的最佳方法是什麼?
- 27. 在Java EE應用程序之間進行同步調用的最佳方式
- 28. 在java程序運行之間存儲數據的最佳方式是什麼?
- 29. 在同一臺計算機上運行的Python軟件之間進行通信的最佳方式是什麼?
- 30. 使用用戶空間程序與內核模塊進行通信的最佳方式是什麼?
嘛,哪裏緩慢從何而來?基準! – 2011-09-15 06:57:54
...標記爲jsp?這個* other *應用程序,是基於網絡的嗎? –
哎呀對不起沒有包換JSP誤 –