草庐IT

accepting

全部标签

c++ - 带阻塞套接字的 SSL_accept

我制作了一个带有SSL和阻塞套接字的服务器。当我连接telnet时(因此它不进行握手),SSL_accept会无限期地阻塞并阻塞每个新的握手/接受(以及根据定义的新连接)。我该如何解决这个糟糕的问题? 最佳答案 为什么不在调用SSL_accept()之前将套接字流设置为非阻塞模式呢?,然后阻止类似select()的内容如果SSL_accept()返回SSL_ERROR_WANT_READ或SSL_ERROR_WANT_WRITE超时?或者,您可以在调用SSL_accept()之前阻止select()。要么应该工作。这样你至少可以限制

sockets - 做socket编程时accept函数一定要加锁吗?

所有worker都继承了父服务器的套接字描述符,并用它来接受客户端请求。子进程作为自治进程“并行”运行,并使用带有服务器套接字描述符的接受函数。接受客户端请求时,我是否必须为接受功能使用锁定和解锁机制,或者操作系统为我做这件事?这里的想法是多个进程使用公共(public)服务器套接字描述符来接受客户端请求。我是否必须使用互斥机制来屏蔽它以避免竞争条件或死锁?请注意我在accept函数中使用了非阻塞I/O。我有以下代码:for(;;){intclient=accept(...);if(client我应该使用类似的东西吗:for(;;){lock();intclient=accept(..

http - 什么控制 TCP 段是传递到传递给 accept() 的套接字还是传递给 accept() 返回的套接字?

在TCP套接字代码中,我们创建了2个套接字。第一个接受新连接,第二个接受来自客户端的数据并在新连接建立时创建。TCPheader中的哪个控制位允许服务器知道将此段传递给ServerSocket(发送连接请求的那个)还是Socket(连接建立后为通信创建的套接字)? 最佳答案 WhatcontrolbitintheTCPheaderallowstheservertoknowwhethertodeliverthissegmenttotheServerSocket(theonetowhichconnectionrequestsaresen

java - Android 手机上的 TCP 服务器在 .accept() 处崩溃

我是android的新手,但不是套接字。我有一个带有运行UAVServer线程的按钮的GUI。当我点击它时,服务器应该监听客户端。代码行...Socketclient=serverSocket.accept();...应该阻塞直到有客户端连接。但它只是崩溃说“不幸的是,DroidUAV已停止。”publicclassUAVServerextendsThread{privateStringTAG=UAVServer.class.getSimpleName();@Overridepublicvoidrun(){ServerSocketserverSocket;try{serverSocke

python - 实现 tcp 的 accept() 函数

作为学校作业的一部分,我们需要在python中实现一个非常简单的tcp版本。它自身的通信是通过udp套接字完成的。我的问题是accept()的实现,主要是支持多个客户端。我读了很多,但找不到任何来源来回答我的问题。这是我的代码:#Acceptsanincomingconnection.ThismethodblocksuntilanincomingSYNmessage#arrives,handlestheSYNmessageandreturnsthesocket.defaccept(self):ifself.state还有我的问题:新套接字应该响应syn数据包,还是旧(监听器)套接字应该

postgresql - HEROKU POSTGRES 错误 : Connection refused Is the server running on host "..compute-1.amazonaws.com..." and accepting TCP/IP connections on port 5432?

几周来我一直在努力找出问题所在,但我似乎无法解决这个问题。我正在开发一个网络应用程序,我已经使用Heroku部署到生产环境。我正在为我的数据库使用HerokuPostgres,我想从我的本地计算机psql到该托管数据库以对其进行更改。我在MacOSX和LinuxMint上都试过了。但是,无论我尝试什么,我都会不断收到以下错误:--->ConnectingtoHEROKU_POSTGRESQL_ORANGE_URL(DATABASE_URL)psql:couldnotconnecttoserver:ConnectionrefusedIstheserverrunningonhost"ec2

java - 应用程序卡在 serverSocket.accept() 并提供已在第二次调用线程时使用的绑定(bind)异常地址

我为套接字通信构建的应用程序有两个问题,首先我将尝试解释该应用程序的功能,然后我将详细介绍这两个问题。首先,我单击一个按钮,启动一个线程,该线程通过UDP套接字发送多播消息“组地址”。一旦任何设备收到消息,它们将通过TCP套接字发送响应,而我的设备将充当发送响应的设备的服务器。所以在调试之后我发现了第一个问题是clientSocket=serverSocket.accept();有时会卡住,应用程序会阻止所有内容并继续执行它,这可能会发生,因为udp信息可能永远不会到达在目的地,这意味着我创建的tcp服务器没有客户端。第一个问题:有什么方法可以使serverSocket.accept(

tcp - 为什么UDP没有 "accept()"?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我是从实际意义上问的。在TCP中,accept()将为每个connect()提供新的套接字。它允许仅与一个服务器端口进行多个并发通信。问题是为什么我们在UDP中没有这么方便?不要告诉我UDP是无连接的,因此......从逻辑上讲,accept()与此无关(底层IP无论如何都是无连接的)。一个后果是您必须应用大量UDP端口,这可能会使防火墙设置复杂化。所以我

sockets - accept() 和 TCP 数据包传递的行为

Java文档说ServerSocket,x正在监听端口5555返回一个新的Socket,y,来自其accept()方法,这样:y的本地端口设置为5555;和x继续在端口5555上监听以accept()新连接。经验证,确实是上述情况。但是,Port上的这个维基百科条目有这样的话:Thisprocessisknownaslisteningandinvolvesthereceiptofarequestonthewell-knownportandreestablishingone-to-oneserver-clientcommunicationsonanotherprivateport,sot

language-agnostic - 更多 TCP 和 POSIX 套接字 listen() 和 accept() 语义

情况:服务器调用listen()(但不是accept()!)。客户端向服务器发送SYN。服务器获取SYN,然后将SYN/ACK发送回客户端。但是,客户端现在挂断/死亡,因此它永远不会向服务器发回ACK。连接处于SYN_SENT状态。现在另一个客户端发送一个SYN,从服务器得到一个SYN/ACK,然后发回一个ACK​​。此连接现在处于ESTABLISHED状态。现在服务器终于调用了accept()。怎么了?accept()是否在第一个错误连接上阻塞,直到发生某种超时?它是否首先检查队列中是否存在任何已建立的连接并返回这些连接? 最佳答案