草庐IT

同步Socket

全部标签

java - Java中有同步队列吗?

很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭9年前。Java中有同步的Queue类吗?我正在寻找类似Vector(同步)与ArrayList(不是)之类的东西,但不是实现List接口(interface),我正在寻找它来实现Queue。请注意,没有Collections.synchronizedQueue方法来包装未同步的队列并使其同步。

java - Socket通信,Java客户端C服务器

我正在尝试通过Java客户端和C服务器的套接字进行通信如果我尝试在命令行上使用nc连接服务器,或者如果我使用nc作为服务器并连接我的Java客户端,一切似乎都工作正常,但是当我尝试连接Java客户端和C服务器时,它不起作用。客户端启动连接,并发送消息,消息被服务器接收,但服务器的响应永远不会到达客户端。服务器代码:#include#include#include#include#include#includeintmain(intargc,char*argv[]){intsockfd,clisockfd,portno;char*start="hello";char*end="bye";

java - 跨 JVM 同步方法

如何跨JVM同步方法?我的示例是一个Web应用程序,它限制一个用户名不能多次登录(换句话说,第一个用户可以登录,但如果另一个用户使用相同的用户名登录,他将被拒绝)。Web应用程序部署在多个服务器上,因此存在多个JVM,并且用户可以尝试使用不同的服务器登录,具体取决于负载均衡器。方法是这样的publicsynchronizedstaticSessionDatalogonSync(StringuserName,Stringpassword)throwsException{intcount=DB.count("sessions","WHEREuser_name=?",userName);if

java - 同一个对象的两个不同的同步方法?

我在一个类中有2个同步方法,比如method1()和method2()。一个线程说“线程1”通过执行同步方法1()持有该类对象的锁。另一个线程说“线程2”,同时通过方法2()访问锁,而“线程1”持有锁。这种情况类似于具有同步add()和remove()方法的java.util.Vector类。也请解释一下这个案例。 最佳答案 没有。Java中的synchronized方法等同于将主体包裹在synchronized(this)block中的整个方法。因此,如果一个线程处于synchronized方法中,则另一个线程不能同时处于同一对象

java - 如何从 Subclipse 中的 svn repo 同步中排除文件?

我想在与svn存储库同步期间排除检查Eclipse项目中的文件(.properties)。如果我在我的Eclipse项目中更改这个.properties文件,它的图标将被标记为指示该项目未与repo同步。我怎样才能避免这种情况?我不想从存储库中排除这个文件,因为我会不时地提交一个新版本。 最佳答案 转到Window->Preferences->Team->IgnoredResources并在那里添加您的模式。这样您就可以绕过“svn:ignorebuttondisabled”问题,您可以填写自己的模式,而不仅仅是您选择的文件。在您的

java - java.net.Socket 线程安全的方式是什么?

我有一个Socket,我正在通过BufferedReaders和BufferedWriters读取和写入。我不确定可以从单独的线程执行哪些操作。我猜想同时从两个不同的线程写入套接字是个坏主意。与同时从两个不同线程读取套接字相同。在一个线程上阅读而在另一个线程上写入怎么样?我问是因为我想让一个线程在等待更多数据时长时间阻塞读取,但在等待期间我也偶尔有数据要在套接字上发送。我不清楚这是否是线程安全的,或者我是否应该在写入之前取消读取(这会很烦人)。 最佳答案 套接字在流级别是线程不安全的。您必须提供同步。唯一的保证是无论并发性如何,您都

常见的socket函数封装和多进程和多线程实现服务器并发

常见的socket函数封装和多进程和多线程实现服务器并发1.常见的socket函数封装2.多进程和多线程实现服务器的并发2.1多进程服务器2.2多线程服务器2.3运行效果1.常见的socket函数封装accept函数或者read函数是阻塞函数,会被信号打断,我们不能让它停止,所以我们应该进行一些封装操作。//wrap.h#ifndef__WRAP_H_#define__WRAP_H_#include#include#include#include#include#include#include#includevoidperr_exit(constchar*s);intAccept(intfd,

java - ObjectInputStream(socket.getInputStream());不起作用

我正在编写一个类来与服务器通信,但是当它试图在输入流的帮助下构建ObjectInputStream时,程序卡住了。没有异常,程序仍在运行,但卡在尝试构造ObjectInputstream的行中。我的问题所在的方法代码如下:@Overridepublicvoidconnect(Stringip,intport)throwsUnknownHostException,IOException{Socketsocket=newSocket(ip,port);out=newObjectOutputStream(socket.getOutputStream());InputStreamis=sock

java - Spring Web Socket Java 客户端

如何编写基于Java的SpringWebSocket(STOMP)客户端。与在Spring中一样,我们使用stompJS仅提供基于javascript的客户端,但如果我们需要java客户端,我们应该如何实现它? 最佳答案 Spring4.1引入了一个SockJsJavaClient这对于服务器到服务器的通信和性能测试非常有用。它没有附带Stomp客户端(这当然在路线图中),但您可以查看testsinthesampleapp已经有一个实现。看来这就是您要找的东西。2015年9月8日更新:Spring4.2有一个STOMPJava客户端

java - volatile 变量是否需要同步访问?

我在理解Java中的volatile变量时遇到一点困难。我有一个参数化类,其中包含一个volatile变量,如下所示:publicclassMyClass{privatevolatileTlastValue;//...othercode...}我必须针对lastValue实现某些基本操作,包括get-value-if-not-null。这些操作需要同步吗?我可以通过以下方法逃脱吗?publicvoiddoSomething(){StringsomeString;...if(lastValue!=null){someString+=lastValue.toString();}}或者我是否