Comments (5)
这个是忘记删了, 我会在这两天清理掉这个 api .
目前, 用 socket.listen 监听后, accept 到的 id , 不调用 socket.start 是不会开始工作的. 你可以把 id 发到别的服务, 在新的服务中调用 socket.start 开始工作.
如果是中途转移, 简单的 abandon/accept 很难完全实现正确. 还需要多点时间考虑.
from skynet.
ok.
from skynet.
其实 socket.start 就预留了之前的 socket.accept 的功能. 我把这部分补上了.
不过, 在两次 socket.start 之间有可能丢失数据. 这个需要应用层协议保证.
完备的 start / abandon / start 需要更复杂的机制把中间数据转发. 增加这个设计复杂性不太值得.
见 https://github.com/cloudwu/skynet/blob/master/service/testsocket.lua
展示了 3 种方式响应接入的连接
from skynet.
谢谢。不过我觉得socket.start这个API有二义性。
local id = socket.listen("127.0.0.1", 8000)
socket.start(id , function(id, addr)
skynet.fork(accepter, id)
end)
把上面socket.start里的function合并到socket.listen,socket.start只处理accept之后的socket id,这样感觉会好些。
from skynet.
listen 的 id 也可以转移到新的 service 处理的.
start 的含义是开始接管一个 id .
listen 的 id 需要一个 callback , 其它的不需要
2014-03-14 11:40 GMT+08:00 lparam [email protected]:
谢谢。不过我觉得socket.start这个API有二义性。
local id = socket.listen("127.0.0.1", 8000)
socket.start(id , function(id, addr)
skynet.fork(accepter, id)
end)
把上面socket.start里的function合并到socket.listen,socket.start只处理accept之后的socket
id,这样感觉会好些。—
Reply to this email directly or view it on GitHubhttps://github.com//issues/73#issuecomment-37614196
.
from skynet.
Related Issues (20)
- Accessibility HOT 3
- 如何退出skynet
- 安装失败,怎么解决? HOT 4
- 使用UnityWebSocket库进行连接,服务端有收到Socket并提示Socket连接建立,但客户端的Socket状态仍然为Connecting HOT 2
- MAC OSX 上, client.crypt 库会导致 LUA 的标准输入IO卡住。 HOT 1
- 使用官方的lua,导致[:00000000] A message from [ :01000002 ] to [ :01000002 ] maybe in an endless loop (version = 1) HOT 3
- socket channel WIKI 文档有点旧, 能否更新一下 HOT 1
- skynet 开发mmo 遇到性能问题,没有很好的办法排查,希望大家能提供点思路。
- skynet segfault HOT 3
- 引用计数问题 HOT 1
- 消息队列销毁问题
- 传递给mysql.execute的变长参数,最后一个参数为nil会报错 HOT 1
- skynet v1.7.0 在intel芯片的mac上编译后,启动snlua服务失败 HOT 1
- sproto dump 无法正确处理*array() HOT 2
- 下了份今天最新的代码跑https客户端压力测试,跑一会崩了,重现了两次 HOT 16
- skynet websocket client 粘包问题
- skynet websocket 处理 header 后面第一个 payload HOT 1
- Lua 5.4.6浮点运算崩溃 HOT 5
- socket.read may never return when socket.close concurrently HOT 1
- mongo api的代码风格不一致问题
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from skynet.