Tag: 套接字

伯克利WinRTsockets外观networking合理性?

这是我发送到ZeroMQ邮件列表的post的副本。 然而,这个问题并不是ZeroMQ所特有的,而是更一般地说,在WinRT中提供的networkingfunction上需要一个“映射”层,以便在针对WinRT编译时为C ++代码提供更加正常的“伯克利套接字外观”: 大家好,我以前在iPhone和Android版本的移动应用程序(见http://www.ibuzzedfirst.com )中使用了ZeroMQ,因为这些平台支持native / C ++ / Socket开发,因此也支持ZeroMQ。 对于WindowsPhone 7.5(OS 7.1)版本,由于WinPhone 7.5只支持C#,而不是C ++(它实际上是一个C#Silverlight应用程序),所以我必须重新实现所有必需的ZeroMQfunction。 此外,WinPhone 7.5只提供它自己的“版本”的套接字支持( http://msdn.microsoft.com/en-us/library/sb27wehh%28v=vs.95%29.aspx ),它只支持asynchronous版本的function,例如ConnectAsync,SendAync,ReceiveAsync等。但是,C ++的缺乏使得这个问题变得不切实际。 因此,对于WindowsPhone 7.5版本,我只将应用程序限制为“客户端”(参赛者)function,并没有实现“服务器”(测验主控)部分。 这是因为应用程序的客户端部分只发送和接收请求,回复和订阅服务器,而服务器利用了固有的multithreading多用户function的ZeroMQ。 为客户端重新创buildZeroMQ传输协议/头是(相对)简单的,并使用WindowsPhone套接字支持来提供通信。 好吧,现在我正在考虑将应用程序移植到Windows 8上的WinRT。(桌面/平板电脑版本首先 – Windows Phone 8 RT SDK还没有出来,但将是类似的)。 好消息是WinRT支持C ++,耶! (实际上,编写C#时只是WinRT应用程序,可以编译为'AnyCPU',只要包含C ++部分,就必须构build3个不同的版本 – x86 / Win32,x64和ARM版本,但这是一个不同的问题)。 不幸的是,像Windows 7/8 Phone一样,WinRT不支持“正常的”伯克利套接字访问,而是提供它自己的“编程版本”的Socket编程,为不同的套接字场景提供离散类,例如连接TCP客户端的StreamSocket( http ://msdn.microsoft.com/en-us/library/windows/apps/windows.networking.sockets.streamsocket.aspx#methods ),可绑定的TCP服务器的StreamSocketListener( http://msdn.microsoft.com/zh-cn/ -us / library / windows / apps / […]

将TCPstream量redirect到Linux下的UNIX域套接字

假定在UNIX域套接字/tmp/foo上监听传统Linux应用程序。 除了通过UNIX域套接字机制与这个遗留应用程序进行通信之外,我还希望能够通过端口say 1234上的TCP连接来连接它。 绑定到TCP端口1234然后将所有传入连接redirect到UNIX域套接字/tmp/foo最简单的方法是什么?

如何绑定到任何可用的端口?

我需要一个应用程序将UDP数据包发送到某个networking服务器并接收响应。 服务器回复的请求来自同一端口号,所以我首先需要绑定()我的套接字到任何UDP端口号。 对UDP端口号进行硬编码是一个坏主意,因为它可能被运行在同一台PC上的任何其他应用程序使用。 有没有办法将UDP套接字绑定到任何可用的端口? 国际海事组织它应该是一个有效的方式来快速获得一个自由端口#,这是由例如accept()函数使用。 如果不是,那么尝试绑定并检查WSAEADDRINUSE / EADDRINUSE状态的最佳策略是:从1025或1025 + rand()或其他一些端口开始顺序尝试端口?

Android持久套接字连接规则

我一直在使用持久套接字对Android设备进行自定义推送通知解决scheme的testing。 我想分享我的发现并validation结果。 简单的描述 应用程序运行前台服务,并build立与服务器的连接,并通过主动ping(10秒间隔)来维护连接。 如果连接被检测为死亡,应用程序会一直试图无限期地重新连接。 服务器通过双工通道发送通知。 testing1: Pinging is done using a timer at 10 second intervals. Server sends notification every minute. Applications acquires wifi and wake locks. Duration : 8 hours Battery loss : ~14% testing2: Pinging is done using AlarmManager at 10 second intervals. Server sends notification every minute. Application acquires only a […]

C套接字sockaddr和sockaddr_storage背后的推理

我正在查看函数,如在C套接字connect()和bind() ,并注意到他们把指针指向一个sockaddr结构。 我一直在阅读和使应用程序AF-Independent,使用sockaddr_storage结构指针并将其转换为sockaddr指针非常有用,因为它具有用于较大地址的所有额外空间。 我想知道的是,像connect()和bind()这样的要求sockaddr指针的函数是如何从一个指针访问数据,该指针指向的结构比所期望的大。 当然,你把它传递给你正在提供的结构的大小,但是函数使用的实际语法是什么,以便将IP地址从指向更大结构的指针转换为struct *sockaddr ? 这可能是因为我来自面向对象的语言,但它似乎是一种黑客和有点混乱。

通过c#与socket.io服务器通信

有没有ac#客户端遵循socket.io协议? 我有一个socket.io服务器通过网站与socket.io javascript客户端进行通信,但我也需要连接ac#片段,它可以发送和接收消息。 有没有一个干净的方式来做到这一点,或者我将不得不写我自己的客户端。

一个套接字如何知道使用哪个networking接口控制器?

我是networking编程领域的一名大学生,所以我的问题看起来很愚蠢,但请耐心等待。 问题是,如果一台计算机有多个网卡,它们都连接到不同的networking并运行正常,当我们打开一个套接字时,操作系统如何确定使用这个套接字的网卡? 套接字API是否允许我们明确指定要使用的NIC?

Catch“socket.error: Connection refused”exception

我怎么能捕获socket.error: [Errno 111] Connection refusedexception? try: senderSocket.send("Hello") except ?????: print "catch !"

通过套接字手动发送HTTP请求

当我通过一个套接字发送一个正常的HTTP请求时,服务器不响应一个OK响应。 我从FireFox复制HTTP头。 这里是代码: Socket s = new Socket(InetAddress.getByName("stackoverflow.com"), 80); PrintWriter pw = new PrintWriter(s.getOutputStream()); pw.print("GET / HTTP/1.1"); pw.print("Host: stackoverflow.com"); pw.flush(); BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream())); String t; while((t = br.readLine()) != null) System.out.println(t); br.close(); 不过,这是我收到的答复: HTTP/1.0 408 Request Time-out Cache-Control: no-cache Connection: close Content-Type: text/html <html><body><h1>408 Request Time-out</h1> Your browser didn't send a complete […]

testing套接字连接的好工具?

我正在写一个TCP / IP客户端,我需要一个“testing服务器”才能够轻松testing。 它应该监听一个可configuration的端口,当客户端连接时显示给我,客户端发送了什么,允许我手动input文本发送给客户端。 它应该在Windows上工作。 通常我会使用简单但function强大的nc.exe(Unix上的别名“Netcat”和Windows上一样),但是防病毒软件将它检测为“黑客工具”,这样我的系统pipe理员就不希望我使用它工作中。 有没有人使用另一个工具来testing套接字连接,并很高兴呢?