ღ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日
  • 展开全部

悬赏问题

  • ¥15 Attributeerror:super object has no attribute '__sklearn_tags__'_'
  • ¥15 逆置单链表输出不完整
  • ¥15 宇视vms-B200-A16@R启动不了,如下图所示,在软件工具搜不到,如何解决?(操作系统-linux)
  • ¥500 寻找一名电子工程师完成pcb主板设计(拒绝AI生成式答案)
  • ¥15 关于#mysql#的问题:UNION ALL(相关搜索:sql语句)
  • ¥15 matlab二位可视化能否针对不同数值范围分开分级?
  • ¥15 已经创建了模拟器但是不能用来运行app 怎么办😭自己搞两天了
  • ¥15 关于#极限编程#的问题,请各位专家解答!
  • ¥20 win11账户锁定时间设为0无法登录
  • ¥45 C#学生成绩管理系统