草庐IT

socket_handle

全部标签

c - 在 Windows 上使用 sys/socket.h 函数

我正在尝试在Windows中使用socket.h函数。本质上,我目前正在查看示例代码https://beej.us/guide/bgnet/html/multi/clientserver.html#datagram.我知道socket.h是一个Unix函数——无论如何我可以在编译这个示例代码时轻松地模拟那个环境吗?不同的IDE/编译器会改变什么吗?否则,我想我需要使用虚拟化的Linux环境,无论如何这可能是最好的,因为代码很可能在UNIX环境中运行。谢谢。 最佳答案 你有两个选择:使用Cygwin(Unix仿真库)。端口到Winso

php - 发送私有(private)消息或向 socket.io 中的特定用户发送消息的问题

我正在使用Node.js、Redis、PHP和Socket.io开发聊天应用程序。我会使用广播向多个用户发送消息,但我无法向特定用户发送消息。谁能给我提供如何实现一对一聊天或发送私有(private)消息的解决方案?以下是我的Server.js和client.js代码库。Server.js/**-------------------*Express**-------------------*/varapp=require('express')(),http=require("http"),url=require('url'),cookieParser=require('cookie-p

c# - 在 Redis C# 中批量创建键 - SocketException : Only one usage of each socket address (protocol/network address/port) is normally permitted

出于某种原因,我在我的ASP.NETMVCWeb应用程序中在多线程环境下在RedisDB中批量创建key。我正在使用ServiceStack.Redis对于redis客户端。我为所有必需的redis操作创建了一个静态类,即put、get..在那个静态类中,我正在为每个调用创建一个新的redis实例,一旦调用完成(使用using)代码如下:for(inti=0;i但是,一段时间后我得到以下错误:ServiceStack.Redis.RedisException:couldnotconnecttoredisInstanceatxxx-xxx.xxxx.0001.use1.cache.ama

javascript - 存储/记录来自 socket.io 和回放的所有发射数据

让我们以Canvas绘图为例。来源:http://wesbos.com/html5-canvas-websockets-nodejs/如何存储或记录从socket.io发出的数据以便再次播放?例如一位艺术家在上面的Canvas上画了一幅画,应该记录下来,以便学习者可以反复观看。是否有任何库或模块可以帮助存储这些数据?将这些数据保存在像xml这样的文件中更好,还是应该存储在像Redis这样的数据库中?要播放此数据,必须将其与时间信息一起存储。更新1找到一个完美的例子。http://draw.2x.io/replay.html#/history/flodge/923693248166047

python - 连接错误 : Error 2 connected to unix socket in Python/Django Redis

我正在尝试在全新的Mac上本地运行一个django项目。直到昨天它一直在工作,我不知道发生了什么,但突然间我开始收到Redis错误。我可以加载不查询数据库的页面,但是一旦我尝试进行部分依赖于Redis的搜索,它就无法工作。有什么想法吗?这是回溯。Traceback(mostrecentcalllast):File"/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/wsgiref/handlers.py",line85,inrunself.result=application(self.envir

php - 带有 Python 后端和 Socket.io 的 Redis Pub/Sub

我有一个PHP代码可以将数据发布到一个名为“MESSAGE_FROM_MARS”的channel。片段如下:functionsend_data_to_check_spam($feedback){$d_id=$this->redis_connect(11);//echo$feedback;//die();echo"MESSAGESENTTOSPAMSWATTER"."";$d_id->PUBLISH("MESSAGE_FROM_MARS",$feedback);}有一个服务器端python监听器接收发布的数据,片段如下:r=redis.StrictRedis(host='localhos

redis - socket.io redis ECONNREFUSED

我的主机允许端口8000到8010varexpress=require('express'),https=require('https'),app=express(),cluster=require('cluster'),numCPUs=require('os').cpus().length,RedisStore=require("socket.io/lib/stores/redis"),redis=require("socket.io/node_modules/redis");,pub=redis.createClient(8002),sub=redis.createClient(8

node.js - 准确跟踪#open sockets via redis

我有一个套接字服务器,想知道某个特定用户是否有一个或多个已连接的套接字。出于负载平衡和扩展的目的,不同位置可以有多个套接字服务器,因此客户端理论上可以有多个套接字连接,每个连接位于套接字服务器的不同位置/实例。在套接字连接上,我为用户递增一个Redis键,在套接字断开连接上,我递减该键。但是,如果我手动或通过forever/supervisor重新启动套接字服务器,则不会调用递减计数器,从而为该用户提供不正确的打开套接字连接数。我的问题是,可以使用当前方法并进行一些调整以在Redis中存储准确的数字,还是我应该考虑使用另一种方法?编辑:在每个套接字连接上,我使用redis客户端订阅特定

exception-handling - 为什么在返回 default case 的 switch 语句后抛出异常?

RedisZiplistimplementation在它的一个函数中有一个奇怪的约定——带有defaultcase后跟外部异常的switch语句:staticunsignedintzipIntSize(unsignedcharencoding){switch(encoding){caseZIP_INT_8B:return1;caseZIP_INT_16B:return2;caseZIP_INT_24B:return3;caseZIP_INT_32B:return4;caseZIP_INT_64B:return8;default:return0;}assert(NULL);return0

node.js 和 socket.io 与 facebook 好友聊天

我正在开发聊天功能,Facebook好友只能相互交谈。我正在使用redis,所以保存关系:fb_user_id-user_socket_id。这是我的实现方式:从facebook上交friend;从redis中选择我friend的套接字id,在我的Node客户端创建本地friend套接字列表;连接到Node服务器。服务器将我的socketid保存到redis并通知我所有的friend新friend登录(关于我);我所有的friend都在更新本地好友列表;当有人向服务器发送聊天消息时,此消息带有friend套接字列表,因此服务器知道需要向何处发送消息(仅限我的friend)。问题:每次都