草庐IT

socket_handle

全部标签

sockets - TCP 和 UDP 套接字可以使用相同的端口吗?

首先,在同一台服务器上同时使用UDP和TCP有什么问题吗?其次,我可以使用相同的端口号吗? 最佳答案 是的,您可以为TCP和UDP使用相同的端口号。许多协议(protocol)已经这样做了,例如DNS在udp/53和tcp/53上工作。从技术上讲,每个协议(protocol)的端口池是完全独立的,但对于可以使用TCP或UDP的更高级别的协议(protocol),它们默认使用相同的端口编号是惯例。在编写服务器时,请记住TCP套接字的事件顺序比UDP套接字要难得多,因为正常的socket和bind调用你还必须listen和accept。

sockets - 当您需要可靠的 UDP 时,您使用什么?

如果您遇到TCP连接可能太慢而UDP“连接”可能太不可靠的情况,您会使用什么?有各种标准可靠的UDP协议(protocol),您对它们有什么经验?请针对每个回复讨论一种协议(protocol),如果其他人已经提到您使用的协议(protocol),请考虑对他们进行投票,并在需要时使用评论进行详细说明。我对这里的各种选项很感兴趣,其中TCP处于范围的一端,而UDP处于另一端。有各种可靠的UDP选项可用,每个选项都将TCP的一些元素带到UDP。我知道TCP通常是正确的选择,但拥有备选方案列表通常有助于人们得出该结论。Enet、RUDP等建立在UDP之上的东西各有利弊,你用过吗,体验如何?为避

sockets - TCP sockets 和 web sockets 的区别,再来一次

这个问题在这里已经有了答案:WhatisthefundamentaldifferencebetweenWebSocketsandpureTCP?(4个答案)关闭4年前。尽我所能理解TCP套接字和websocket之间的区别,我已经在这些问题中找到了很多有用的信息:fundamentaldifferencebetweenwebsocketsandpureTCPHowtoestablishaTCPSocketconnectionfromawebbrowser(clientside)?等等……在我的调查中,我在wikipedia上检查了这句话:WebsocketdiffersfromTCPi

sockets - 两个应用程序可以监听同一个端口吗?

同一台机器上的两个应用程序可以绑定(bind)到相同的端口和IP地址吗?更进一步,一个应用程序可以监听来自某个IP的请求,另一个应用程序可以监听另一个远程IP的请求吗?我知道我可以让一个应用程序启动两个线程(或分支)以具有相似的行为,但是两个没有任何共同点的应用程序可以做同样的事情吗? 最佳答案 答案因所考虑的操作系统而异。一般来说:对于TCP,没有。您一次只能让一个应用程序监听同一端口。现在,如果您有2个网卡,您可以让一个应用程序监听第一个IP,第二个应用程序使用相同的端口号监听第二个IP。对于UDP(多播),多个应用程序可以订阅

sockets - "connection reset by peer"是什么意思?

TCP连接上的“对等方重置连接”错误是什么意思?这是一个fatalerror还是只是一个通知或与网络故障有关? 最佳答案 这是致命的。远程服务器向您发送了一个RST数据包,表示立即断开连接,而不是通常的握手。这绕过了正常的半关闭状态转换。我喜欢thisdescription:"Connectionresetbypeer"istheTCP/IPequivalentofslammingthephonebackonthehook.It'smorepolitethanmerelynotreplying,leavingonehanging.B

sockets - 浏览器上的 GCDAsyncSocket 连接并立即断开连接,出现 "Socket closed by remote peer"错误

我是网络编程的新手,也是第一次使用GCDAsyncSocket。我正在尝试实现一个iOS应用程序,其中1台设备充当主机,其他设备(浏览器)连接到它。我正在使用NSNetService/NSNetServiceBrowser来发布/浏览部分。现在,我的客户端/浏览器正确解析主机地址并尝试使用以下代码连接到它:funcnetServiceDidResolveAddress(sender:NSNetService){//ConnectwithServiceif(self.connectWithService(sender,hostname:sender.hostName!)){println

ios - 快速解析来自 socket.io 响应的数据

我从socketio库得到了这样的响应socket.on("response-names"){data,ackinprint(data)}可以打印这个,[{"person":[{"_id":"56512323212132","name":"JohnSmith","id":"0000001","geolocation":{"latitude":5.12312323443,"longitude":101.12312464564354}}]}]你们如何在swift中访问名称、ID和地理位置(纬度、经度)?,据我所知数据是NSArray。但是使用data[0]访问将产生nil。但我可以做dat

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

iOS WKWebView - 无法添加 socket ,只能操作

我有一个带有后退按钮的简单WebView。我正在关注这个tutorial视频。在2:05,他切换到辅助View并控制将按钮拖到代码以创建socket。但是,如果我尝试它,它会显示“插入操作”并生成此代码:@IBActionfuncbackButton(_sender:Any){}我做错了什么,我按照他的步骤去做。 最佳答案 你可以试试这个方法:在您的ViewController中声明一个按钮变量:@IBOutletweakvarmyButton:UIButton!在您的Storyboard中,选择按钮,然后显示连接检查器将Newre

ios - 无论如何从 Swift 中的 socket.io 方法返回一些东西?

我正在构建一个套接字方法,服务器端会将一个JSON数组传递给客户端。之后,我想传递数据以供其他功能使用。但是Swift中的socket方法限制了我这样做,因为它是一个void函数这是方法的例子没有什么可以从闭包{}中逃脱,似乎我只能在socket方法中进行操作是否有任何变通方法可以操纵套接字方法,以便从该范围获取数据? 最佳答案 我不太了解socket.io,但如果它是典型的异步操作情况,您可以将socket.io调用包装在一个新的完成处理程序中,例如://IsupposethedataisoftypeNSData.funcread