ღCauchyོꦿ࿐ 2022-10-16 16:04 采纳率: 100%
浏览 142
已结题

Lua 的一个小demo?教一下,感激不尽!!

Lua 用协程(coroutine)实现

  • 一个server端可以等待多个client端连接。
  • 分别用Lua实现 server、client
  • 有源码(只需要最基本的回显功能)
  • 写回答

1条回答 默认 最新

  • Jackyin0720 2022-10-19 15:07
    关注
    
    --lua的TCP通信发送字符串末尾必须添加\n
    --server
    socket = require("socket")  --调用socket包
    ip = "192.168.3.184" --程序设置自己为Server端,设置自己的ip地址
    port = 8080 --设置端口
     
    server = assert(socket.bind(ip, port))  --按照上面的参数开启服务器
     
    ack = "ack\n"
    while 1 do
        print("server: waiting for client connection...")
        control = assert(server:accept())   --等待客户端的连接,因此这个程序只能同时连接一个TCP客户端设备
        while 1 do
            command, status = control:receive() --等待字符信号发送过来
            if command == "closed" then
                break
            end
            if command ~= nil then
                print(command)
                control:send(ack)
            end
        end
    end
    
    --lua的TCP通信发送字符串末尾必须添加\n
    --client
    socket = require("socket")  --调用socket包
    ip = "192.168.3.184"    --程序设置要了解的server端的ip地址
    port = 8080 --设置端口
     
    c = assert(socket.connect(ip, port))    --根据上边的参数连接server端,若未连接上直接报错
     
    c:send("GET\n") --首先发送一个信号
     
    while 1 do
        s, status, partial = c:receive()    --等待服务器发送过来的信号
        print(s)
        if status == "closed" then 
            break
        end
        str_send = io.read()    --等待输入要发送出去的信号
        str_send = str_send..'\n'
        c:send(str_send)
    end
     
    c:close()
    
    
    

    参考链接,期望对你有所帮助:https://blog.csdn.net/lby13951652332/article/details/107712426

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 10月30日
  • 已采纳回答 10月22日
  • 赞助了问题酬金15元 10月18日
  • 赞助了问题酬金15元 10月17日
  • 展开全部

悬赏问题

  • ¥170 如图所示配置eNSP
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥15 键盘指令混乱情况下的启动盘系统重装