问题标签 [serversocket]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Socket communication of server with two different applications, Java
I am writing the code for a server that would help two different applications in different platforms communicate with each other. To visualize it a bit it would be something like this :
App1<------>Server<------>App2
What server does is rear var1 from app2, write it to app1, then read var2 from app1 and write it to app2. Like this :
while(true){
var1 = app2stream.readInt();
app1stream.writeInt(var1);
var2 = app1stream.readDouble();
app2stream.writeDouble(var2);
}
My problem is that at some point i have this code at my server :
app1.accept();
app2.accept();
What this means is that no matter what, and given the fact that the server is always running, app1 is the one that should connect first since app1.accept() is a blocking method.
Is there any way around this? It would be great to allow the two applications to connect to the server regardless of who "came" first and then wait for the server to proceed with the above code. Can i use threads just for the accept() part and then pass the streams to the other thread? I read a bit about channels but got a bit buffled, any examples would be great.
java - 如何正确停止 ServerSocket 线程?关闭套接字失败
我知道这已经讨论过几次了,但是我找不到适合我的问题的解决方案。我想ServerSocket
在后台运行一个线程,监听指定的端口。它实际上有效,但只有一次。似乎服务器正在侦听的端口从未正确关闭并且在我尝试重新启动时仍然处于活动状态(O 不要重新启动线程本身)。有人能说出为什么它不能正常工作吗?在此先感谢您的帮助...!
编辑:
我在客户端有同样的问题。我有一个发件人线程,而且不能停止。最好的方法是什么?
这ClientConnector
只是一个连接到服务器端口并发送数据的类。这不是一个线程或类似的东西。
那是我的发件人类:
我尝试处理它的行为:
不知何故,我无法阻止InternalCamSender
那样的事情。之前用a试过volatile boolean
,也是一样。我阅读了http://download.oracle.com/javase/1.5.0/docs/guide/misc/threadPrimitiveDeprecation.html页面并尝试了示例我应该使用什么来代替 Thread.stop?但即使这样也没有停止线程?我搞不清楚了。
有任何想法吗?
编辑: 在这里找到我的客户端发送问题的答案http://www.petanews.de/code-snippets/java/java-threads-sauber-beenden-ohne-stop/ 即使我不知道为什么会这样。我确定我以前尝试过这种方式。
问题解决了!
http - 有人知道周围有任何 HTTP 一致性测试套件吗?
我和我的朋友正在构建一个 HTTP 服务器作为一个大学项目。但是我们在测试时遇到了障碍......
我们已经完成了性能测试,但我们找不到任何用于协议一致性测试的工具。
例如,我将在网络上的机器上运行该软件,并且我希望该软件发出请求并测试响应的有效性,即正确的标头和内容。
我不关心发送的响应的正文,因为这不是一个严重的问题。
有人可以帮我吗???
问候
Binaek Sarkar
基金会
java - Socket server hang when testing with ab, waiting BufferedReader.readline()
I am making a Java-based web server. But when I am testing it with ApacheBench, it sometimes stop responding.
On a Macbook Air:
#xA;is guaranteed to timeout after 16400 or more requests were done.
On Ubuntu desktop
#xA;could done successfully most of the time, but sometimes stop responding after several runs.
I've identified (using Eclipse) that when the server stop responding, it is waiting for BufferedReader.readline() which I use it to read HTTP request header. But I have no idea why is it waiting.
Test code is here:
#xA;BTW, when writing the test code, I found something else strange
If
#xA;is replaced with
#xA;ab will fail with such message: "apr_socket_recv: Connection refused (111)Connection reset by peer (104)"
But open localhost:1080 with Firefox 4 will see the "don't read the socket" mess show up.
c++ - bind:非套接字上的套接字操作
我编写了一个服务器和一个客户端,并不断收到“绑定:非套接字上的套接字操作”。
我已经对此进行了研究,有其他代码在另一个应用程序中运行,并且已经用尽了 8 个小时试图找到这个错误。
代码是:
另外,在此之前,我使用此功能对内存块进行了 memset。
变量在类的头文件中声明。
-- 编辑代码现在应该更清楚一点了。socket1 在 getSocket() 中初始化。
我已经看到很多人错过了 if 中的括号,但我认为我通过声明 myAddressSize 和 bindReturnValue 消除了该错误。
任何输入表示赞赏。
谢谢你,泰德小号
好的,问题解决了。当然,问题永远不在于您正在寻找的地方,您会在哪里找到它。这是更正后的代码。问题在于对 socket() 的调用中缺少一组括号。
再次感谢!
java - Android中不安全的蓝牙连接
一位教授要求我在 Android 上开发一个小型蓝牙演示应用程序。我对 Android 开发一无所知,直到 2 周前他给了我这个挑战。一般来说,我对 Java 编程也很陌生,所以我从远处开始。但无论如何...
所以我完成了大部分教程,我阅读了 Android 中的蓝牙,查看了蓝牙聊天示例代码,我现在正在尝试做我的小应用程序。所以对于我的演示,我将尝试在我的真手机和我的蓝牙鼠标之间建立连接。我想在手机屏幕上移动一个形状以响应我的鼠标移动。
我遇到了很多问题,但到目前为止,我的主要问题是用我不安全的鼠标打开一个套接字。当我尝试使用该方法listenUsingRfcommWithServiceRecord
时,它要求一个 UUID 作为参数。但是我的鼠标很可能没有 UUID 来响应,所以我想这种方法不是很好的方法。
当我阅读有关此方法的文档时,它说要使用鼠标等设备打开不安全的服务器套接字,我必须使用该listenUsingInsecureRfcommWithServiceRecord
方法。但是当我调用它时,这个方法不可用,它带有红色下划线,Eclipse 说它对于 BluetoothAdapter 类型是未定义的。
如果我做错了,请不要激怒我,这是我的第一个问题,我从 Java 编程开始。
java - 停止 ServerSocket accept() 循环线程
我正在实现一个非常基本的 API 以更好地控制 ServerSocket 和 Sockets,但是由于缺乏线程知识,我遇到了一个非常奇怪的问题,我无法解决。让我解释一下。
在我的类 SocketStreamReceiver 中,我使用辅助线程来侦听带有ServerSocket#accept()
. 有 2 种方法:客户端可以使用 start() 和 stop() 来启动(创建线程并开始侦听accept()
)和停止(关闭 ServerSocket 并销毁线程)我的 SocketStreamReceiver。
你将如何实现 stop() 方法?请记住,可以在 doSomething() 内部调用 stop(),在 start() 启动的同一个辅助线程中。你可以改变任何你想要的东西:如果你愿意,你可以在线程内创建 ServerSocket,就在 while(running) 之前。
谢谢。
编辑 - 解决方案:
android - Android系统在服务中杀死我的serversocket
我正在编写一个示例应用程序来在 Android 上创建一个服务器和一个连接到 PC 的客户端。我将 serversocket 放在服务的线程中。一切都很顺利,直到屏幕关闭几分钟后。这可能是 Android 杀死了我的服务器,我试图对我的代码设置一个完整的唤醒锁,但它不会再杀死了,但是,我确实希望屏幕像往常一样熄灭。这是我的代码:
java - 在 Java 中退出 JFrame 和 TCP 通信之前关闭资源
1. 我正在编写一个基于 TCP 通信的聊天应用程序。我正在使用 NetBeans,我想在退出 JFrame 时向默认的 EXIT_ON_CLOSE 添加功能。原因当然是因为我想安全地清理资源和结束线程。如何调用清除资源的方法,然后才能安全地关闭 JFrame 并结束进程。
2. 我需要实现服务端。服务器具有“套接字”的列表/哈希映射/队列及其聊天昵称。是否有任何简单的设计模式可以正确地做到这一点,因为我不想重新发明轮子。
谢谢。
android - Android 1.6 丢包
刚刚在 Android 1.6 (Sony Xperia X10) 上遇到以下问题:在同一设备上的 WebView(例如 127.0.0.1:8080)中使用 XMLHttpRequest 请求数据,同时通过 提供数据包时ServerSocket.accept()
,XMLHttpRequest 有时会卡住。调试器告诉我,服务器实际上很深入ServerSocket.accept()
,例如。他已经送达或没有收到最后的请求。WebViewCoreThread 卡在
据说正在等待它http0
......http3
线程,所有等待
首先,我认为请求数据包丢失了。但这并不能解释为什么所有http..
线程都处于相同的等待位置,因为一个应该等待响应,而其他线程则等待来自 WebView 的新作业。有任何想法吗?