草庐IT

m_Socket

全部标签

C# Socket.Receive 消息长度

我目前正在开发一个C#套接字服务器,它可以接受来自多个客户端计算机的多个连接。服务器的目标是允许客户端“订阅”和“取消订阅”服务器事件。到目前为止,我已经愉快地看了这里:http://msdn.microsoft.com/en-us/library/5w7b7x5f(v=VS.100).aspx和http://msdn.microsoft.com/en-us/library/fx6588te.aspx的想法。我发送的所有消息都是加密的,所以我将要发送的字符串消息,将其转换为byte[]数组,然后在将消息长度添加到数据之前加密数据并将其发送出去通过连接。让我印象深刻的一件事是:在接收端,

sockets - 是否可以将 UDP 与 socket.io 一起使用?

我正在开发一款游戏,听说UDP更适合实时游戏。我知道socket.io使用TCP,想知道是否有某种方法可以将其切换为UDP。我尝试查找它,但只找到了2012年左右的帖子,其中说UDP仅在浏览器中处于试验阶段。 最佳答案 在标准浏览器中,这是不可能的。从浏览器客户端,socket.io使用http或webSocket传输。http和webSocket都是TCP连接,不是UDP连接。所以浏览器客户端socket.io不使用UDP——它使用TCP。据我所知,在可从常规HTML页面Javascript访问的浏览器中没有标准的UDP支持,因此

networking - TCP Socket 无连接超时

我打开一个TCP套接字并将其连接到网络上其他地方的另一个套接字。然后我可以成功发送和接收数据。我有一个定时器,每秒向套接字发送一些东西。然后我通过强行断开连接(在这种情况下拔出以太网电缆)粗暴地中断了连接。我的套接字仍在报告它正在每秒成功地写出数据。这将持续大约1小时30分钟,最终出现写入错误。什么指定了一个套接字最终接受另一端消失的超时?是操作系统(Ubuntu11.04),是来自TCP/IP规范,还是套接字配置选项? 最佳答案 虽然会中断通信,但拔出网络电缆不会断开TCP连接(1)。您可以重新插入电缆,一旦建立IP连接,所有备份

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 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

快速套接字 IO : Closing socket does not stop reconnect attempts

我今天正在做一些代码重构,我注意到关闭套接字IO中的套接字不会停止重新连接尝试。我想到的唯一解决方案是在关闭套接字时将socketManager.reconnects设置为false,并在我再次连接时将其设置回true,但我在这里也遇到了问题。当我关闭套接字并将重新连接设置为false时,重新连接尝试按预期停止,但随后我将其设置为true并尝试连接,并且只进行了1次连接尝试,并且不会再次尝试重新连接。我检查了套接字管理器。重新连接值,它确实设置为true但没有发生重新连接尝试。我是在这里做错了什么还是库中的错误。这是我的代码。letsocketManager=SocketManager

ios - 用于 swift4 ios 的 Socket.io

我遇到了如何在我的swift代码中实现websocket功能的问题。我已经完成了一个服务器实现和另一个javascript客户端。他们工作得很好。所以,我相信websocket服务器没有错。但如果我用swift编写代码,它就不起作用。没有错误发生,控制台上也没有显示任何消息。这是我的快速代码。importUIKitimportSocketIOclassChatViewController:UIViewController,UITableViewDelegate,UITableViewDataSource,UITextFieldDelegate{@IBOutletweakvartable

ios - 客户端收到 socket.io payload 后向服务器发送 ack

与我通信的服务器在提供第一个响应后需要确认才能继续提供响应。我想弄清楚如何从我的客户那里发送确认。根据文档:Thedataispushedbytheserverevery100milliseconds,butthedatawillonlybesenttotheclient,iftheclientacknowledgesthepreviousdata.Inotherwords,tocontinuereceivingthedata,theclientmustsendacknowledgement.Theacknowledgementcodeis1(Integer).varCLIENT_AC