新鲜码农 2023-04-03 21:39 采纳率: 70%
浏览 10

Unix实现套接字通信

accept()的返回值针对不同的客户端不应该不一样吗?为什么这里这里不同用户打印的connect值相同,而且都为4啊?

struct member{
int number;    //记录用户数量
char conn[5];    //记录每个用户对应的连接号
char user[5][20];   //和number对应,记录第i个用户的姓名
};
//用shm函数开辟了一个结构体member大小的共享内存
//p是指向这个共享结构体的指针

服务端部分代码

img


运行结果如下:

img

  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-04-04 06:23
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:
    • 这篇博客: 快递智能终端系统中的 accept 接受请求链接 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

      conn, addr = server_receive.accept()

      while True:
      # 接受数据
      data = conn.recv(1024)
      msg = int(data)

      if not data:
          break
      else:
          # 输出数据
          print(str(data, encoding="utf-8"))
      while int(msg) != 0:
          if msg == 1:
              ewmsc()
              break
          elif msg == 2:
              xxlrscewm()
              break
          elif msg == 3:
              dysxtsmewm()
              break
          elif msg == 4:
              readexcel()
              break
          elif msg == 5:
              Search()
              break
          elif msg == 6:
              Modify_excel()
              break
          else:
              print("输入错误!")
              break
          Menu()
      
      print("已保存")
      huifu  = '已完成相应操作,请继续'
      if len(data) == 0:
          continue
      conn.sendall(bytes(huifu, encoding="utf-8"))
      

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 4月3日

悬赏问题

  • ¥15 求解答:pytorch跑yolov8神经网络受挫
  • ¥20 Js代码报错问题不知道怎么解决
  • ¥15 gojs 点击按钮node的position位置进行改变,再次点击回到原来的位置
  • ¥15 计算决策面并仿真附上结果
  • ¥20 halcon 图像拼接
  • ¥15 webstorm上开发的vue3+vite5+typeScript打包时报错
  • ¥15 vue使用gojs,需求在link中的虚线上添加方向箭头
  • ¥15 CSS通配符清除内外边距为什么可以覆盖默认样式?
  • ¥15 SPSS分类模型实训题步骤
  • ¥100 求ASMedia ASM1184e & ASM1187e 芯片datasheet/规格书