草庐IT

handle_accept

全部标签

ServerSocket.accept() 返回的 Java 客户端套接字

这更像是一个一般的套接字问题。在Java中,如果我有一个绑定(bind)到特定端口的ServerSocket,比如4444,我知道它正在监听连接请求。accept()方法会阻塞,直到收到连接请求并返回一个新的Socket以与客户端通信。返回的Socket的远程端点是客户端的IP地址和端口。但是,让我感到困惑的是,返回的Socket的本地端口与正在监听请求的ServerSocket的端口号相同(在本例中为4444)。我以为两个套接字不能绑定(bind)到同一个端口?返回的Socket不会是服务器上的另一个端口吗? 最佳答案 两个Ser

java - accept() 方法和 tcp/ip 握手

我将javaServerSocket类用于服务器应用程序。accept()方法是否参与tcp/ip握手?正如我在tcp/ip转储和命令netstat中看到的那样,客户端在调用accept方法并返回Socket对象之前建立连接。是java问题,还是我不理解accept()语义? 最佳答案 通常在Unix中,如果您用listen()标记套接字,操作系统就会开始接受连接。当您调用accept()函数时,操作系统只是交出已经打开的连接。Listen采用一个参数,该参数允许您指定操作系统允许的“未接受”打开连接数(即队列的大小)。

c - 套接字编程 - listen() 和 accept() 有什么区别?

我一直在阅读thistutorial了解套接字编程。似乎listen()和accept()系统调用都做同样的事情,即阻塞并等待客户端连接到使用创建的套接字socket()系统调用。为什么为此需要两个单独的步骤?为什么不只使用一个系统调用?顺便说一句,我搜索了这个问题并找到了类似的问题,但没有一个答案令人满意。例如,其中一个说accept()创建套接字,这是没有意义的,因为我知道套接字是由socket()创建的。 最佳答案 listen()函数基本上在内部套接字结构中设置一个标志,将套接字标记为被动监听套接字,您可以在该套接字上调用a

sockets - 同时使用 accept() 和 select() ?

我有一个事件驱动的网络服务器程序。该程序接受来自其他主机上其他进程的连接。同一远程IP上的不同端口可能有许多短暂的连接。目前,我有一个while(1)调用accept()的循环然后生成一个线程来处理新连接。读取消息后关闭每个连接。在远程端,发送消息后关闭连接。我想通过缓存打开的套接字FD来消除建立和拆除连接的开销。在发件人方面,这很简单-我只是不关闭连接,并保持它们在身边。在接收端,有点难。我知道我可以存储accept()返回的FD在结构中并使用poll()监听所有此类套接字中的消息或select(),但我想同时通过accept()监听新连接和监听所有缓存的连接。如果我使用两个线程,一

ios - 多点连接 IOS : didFinishReceivingResourceWithName Error Handling (Crash)

我一直在努力尝试在相对较短的时间内让MultipeerConnectivity在我们的应用程序中运行。大多数事情都进行得相当顺利,但我们现在遇到了一个非常令人费解的问题。当遵循快乐的路径时,我们可以很好地传输所有数据,但是当尝试实现错误处理时......这是通过关闭wifi传输中完成的......我的代码......:分享者:funcsendResource(data:Data?,name:String,fileName:String,peerId:MCPeerID){ifdata!=nil{leturl=createTransferFile(jsonData:data!,name:f

swift - 排序 NSArray Swift 错误 : could not find an overload for 'sort' that accepts the supplied arguments

我正在尝试学习Swift的基础知识,目前正在尝试创建一个随机数列表并对它们进行排序。varmyNSArray=[1,2,3,4]sort(myNSArray,>)//thisworks=[4,3,2,1]varmyArray:NSMutableArray=[]foriin0..20{myArray.addObject(Int(rand())%100)}varmyNew:NSArray=myArray.mutableCopy()asNSArrayvarmySorted=sort(myNew,>)//Thisgiveanerror这是错误:...error:couldnotfindanov

ios - LGSideMenuController : Registration of several local push notifications leads to delay in screen handling

当我注册了几个本地推送通知时,我注意到一个奇怪的问题:formodelinmyModelArray{letcalendar=Calendar.currentletscheduleDate=calendar.date(byAdding:.second,value:i*5,to:Date())!letnotification=UILocalNotification()notification.fireDate=scheduleDatenotification.alertBody="Mypushnotificationtitle"UIApplication.shared.scheduleLo

xcode - swift 错误 : Cannot find an initializer for type 'Double' that accepts an argument list of type '(String)'

我正在尝试从标记为“temperatureTextField”的文本字段中获取数据并将其分配给“t”,这是一个Double。理想情况下,用户应该向temperatureTextField添加一个数字值。这是我的方法:@IBOutletweakvartemperatureTextField:UITextField!@IBActionfuncconvert(sender:AnyObject){lett=Double(temperatureTextField.text!)lettempM=TemperatureModel(temp:t!)temperatureTextField.text=S

swift : How to handle a lot of textures in memory

我的游戏中有很多角色,因此我有很多纹理。当加载纹理图集(包含大约5个不同的图像纹理)时,它会增加内存使用并将其保持在该数量。因此,更多的纹理只会使该数字不断上升,直到有时应用程序崩溃。我不需要同时使用所有角色,我怎样才能在需要时加载一些角色纹理并在不需要时释放其他角色纹理,但我需要能够将其取回。 最佳答案 规则1首先,您不需要手动将纹理图集加载到内存中。当您使用此代码创建Sprite时letsprite=SKSpriteNode(imageNamed:"Dog")SpriteKit寻找名为Dog的图像,如果找不到它,它会自动在所有纹

swift - VNDetectRectanglesRequest 上的 AspectRatio : Can it handle width > height?

根据Apple的文档,矩形检测请求的最大和最小纵横比的值范围为0.0到1.0。我相信纵横比定义为宽度/高度,这是否意味着视觉框架无法检测宽度大于高度的矩形?使用大于1.0的值测试纵横比不会导致任何编译器错误,但它似乎没有任何影响。在下面的屏幕上检测到的矩形是20x30,所以它的纵横比是0.66。它似乎确实适用于0.0到1.0范围内的值。除此之外,该框架将圆检测为矩形(也感谢对此的任何解释)。最好的问候!使用Xcode9和Swift4编码:SampleXcodeproject 最佳答案 在陷入其中几个小时后,我发现Vision将纵横比