Lua 服务器Socket通信实例
local socket = require"socket"
local host = "127.0.0.1"
local port = "843"
local sever = assert(socket.bind(host, port)) --绑定
sever:settimeout(nil) --不设置阻塞
local tab = {}
table.insert(tab, sever)
while 1 do
local s
s,_,_ = socket.select(tab, nil, nil)
for k, v in ipairs(s) do
if v == sever then
local conn = v:accept() --连接
table.insert(tab, conn)
else
c, e = v:receive() --接收
if c == nil then
table.remove(tab, k)
v:close()
else
if e ~= "closed" then
print(c)
v:send("ok\n") --发送
else
break
end
end
end
end
end
--ack="ack\n"
--[[while 1 do
local conn = sever:accept()
if conn then
print("accep")
end
end--]]
服务器的几个主要动作如下:
1.创建监听套接字,绑定,监听;
2.创建工作者线程;
3.创建一个套接字数组,用来存放当前所有活动的客户端套接字,每accept一个连接就更新一次数组;
4.接受客户端的连接。
Lua 服务器Socket通信实例的更多相关文章
- Lua 服务器Socket通信实例(转)
local socket = require"socket" local host = "127.0.0.1"local port = "843&qu ...
- Flex通信-与Java实现Socket通信实例
Flex通信-与Java实现Socket通信实例 转自:http://blessht.iteye.com/blog/1136888 博客分类: Flex 环境准备 [服务器端] JDK1.6,“ja ...
- Linux下简单的socket通信实例
Linux下简单的socket通信实例 If you spend too much time thinking about a thing, you’ll never get it done. —Br ...
- Java Socket 通信实例 - 转载
基于Tcp协议的简单Socket通信实例(JAVA) 好久没写博客了,前段时间忙于做项目,耽误了些时间,今天开始继续写起~ 今天来讲下关于Socket通信的简单应用,关于什么是Socket以及一些 ...
- 网络协议栈学习(一)socket通信实例
网络协议栈学习(一)socket通信实例 该实例摘自<linux网络编程>(宋敬彬,孙海滨等著). 例子分为服务器端和客户端,客户端连接服务器后从标准输入读取输入的字符串,发送给服务器:服 ...
- (8)Linux(客户端)和Windows(服务端)下socket通信实例
Linux(客户端)和Windows(服务端)下socket通信实例: (1)首先是Windows做客户端,Linux做服务端的程序 Windows Client端 #include <st ...
- 基于Tcp协议的简单Socket通信实例(JAVA)
好久没写博客了,前段时间忙于做项目,耽误了些时间,今天开始继续写起~ 今天来讲下关于Socket通信的简单应用,关于什么是Socket以及一些网络编程的基础,这里就不提了,只记录最简单易懂实用的东西. ...
- Lua 服务器与客户端实例(转)
=============================================================== 服务器,main.lua ======================= ...
- Lua 服务器与客户端实例
=============================================================== 服务器,main.lua ======================= ...
随机推荐
- falsk 与 django 钩子方法
falsk 四大钩子方法# 在第一次请求之前调用@app.before_first_requestdef before_first_request(): print("这是第一次请求之前调用 ...
- 20165336 学习基础与C语言基础调查
20165336 技能学习心得与c语言学习 一.心得体会 做教练 从老师的健身教练健身学员的学习关系中我懂得了学生应该有自主的学习意识,要有计划地去训练.去流汗,并且要以100分的要求严于律己,老师是 ...
- 【PyQt5-Qt Designer】QDoubleSpinBox-小数微调框
QDoubleSpinBox-小数微调框 总体说明 大部分的总体说明和QSpinBox的差不多(详见:<PyQt5:微调框1>),这里主要把有差别的地方谈一下(三点). QDoubleSp ...
- python基础教程 变量/输入输出/if判断
python的运用越来越多.大数据经常被人谈及,数据从何而来?通过各个平台.app.网站数据的收集,分析,过滤,生成报告,这些都可以用python来处理,并且有很多成熟的库可以直接用了.那还不赶紧深入 ...
- 实时Cartographer测试(1) - rplidar
1.rplidar实时测试 参考文献:http://www.cnblogs.com/liangyf0312/p/8028441.html 修改USB转串口权限 yhexie@ubuntu:~$ cd ...
- sap 调试工具,修改变量值
1: 点击修改,输入变量值,按enter键.
- 《Java程序设计》第一周学习记录(1)
目录 Windows安装JDK.Git Linux下安装JDK.Git.IDEA 参考资料 Windows安装JDK.Git 到官网直接下载JDK,双击安装程序就正常安装就行了. 下载完以后,可以看到 ...
- 超实用教程,教你用墨刀做出小红书app原型
一个新手怎么用1小时快速学会APP原型设计? 1小时很短,这意味着学习时必须把握APP原型设计中的重点.难点,而非面面俱到. 要在短时间内理解.掌握一个工具的使用,最有效的方式莫过于临摹: 看实例视频 ...
- SpringMVC项目模块浅析
本文为个人笔记,对于springmvc模块的规划,仁者见仁.智者见智,请不要生搬硬套. 一.基础模块-basic 主要内容是dao.spring-xml.domain.service等内容,模块内分层 ...
- Permission denied: user=root, access=WRITE, inode="/":hadoopuser:supergroup:drwxr-xr-x
提示往HDFS写文件是不容许的. 在conf/hdfs-site.xml中加入: <property> <name>dfs.permissions</name> & ...