TC官方合作论坛

 找回密码
 立即注册
查看: 5685|回复: 26

【即时通讯软件】网络类。2编写服务器

  [复制链接]
发表于 2020-12-5 12:04:35 来自手机 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 剑仙十号 于 2021-5-22 15:23 编辑

【即时通讯软件】网络类。2编写服务器
  
启动按钮  停止按钮
网络绑定(服务端套接字,9998)//绑定目标端口,并开启这个端口。

网络监*(服务器套接字, 8)
//把端口分成N个插孔,并监*插孔中_所有来自客户端的消息。

服务器有个命令:网络接受()
它跟客户端命令:网络连接() 必须配对使用。客户端是攻,服务器是受。

通用命令:网络接受() 和 网络接收(),必须放到循环中 才能连续收发消息。
但 网络接受() 会挂起并等待,一直到客户端有 网络连接()的到来。
这样不适合跟 网络接收() 网络发送() 放在同一个循环,在循环中收发消息。

所以设置一个循环,用来循环 网络接受()命令,接受多个客户端的 网络连接()。
再用 线程开启("收发循环", ""),开辟一个新线程。里面再设置一个循环,用来循环收发所有客户端的消息。
一直到这里,我们的服务器才算启动成功。

//伪代码. 不是项目代码.
var 客户端句柄s=数组()
var 客户端个数
功能 收发循环()
var 消息
while(1)

for(var i=0;i<客户端个数;i++)
if(客户端句柄s>0)
  网络接收(客户端句柄s)
  
if(消息 != "") //消息不为空.
//判断客户端个数,再新开多个线程,用for循环发送消息。例如30个客户端,就开辟3个线程;60个客户端,就开辟6个线程;100个客户端,就开辟10个线程。

网络发送(客户端句柄s)
end
  sleep(20)
end
end//for.

sleep(100)
end//while.
结束

功能 发送消息_按钮()
var text=编辑框获取文本("编辑框0")
if(text != "")
var 状态=复选框获取状态("复选框0")
if(状态 == 真)
//单f消息
编辑框设置文本("编辑框0", "") //清空.
elseif(状态 == 假)
//群f消息
编辑框设置文本("编辑框0", "") //清空.
end
end
结束

游客,如果您要查看本帖隐藏内容请回复

回复

使用道具 举报

 楼主| 发表于 2020-12-5 12:08:29 来自手机 | 显示全部楼层
本帖最后由 剑仙十号 于 2022-4-5 02:32 编辑

二楼,更新信息专用。
tc简单开发_爱好群:
433286131 (491/500)
  
tc简单开发_内存教程
316996072 (481/500)
  
tc简单开发_高级群
858091293(190/200)
  
教程有编程四大F:
1、流程控制,2、变量和数组,
3、函数多线程,4、系统 api函数。
每章有十多节。本群大神众多,新手众多,群文件 资源海量。希望新手分享更多的学习笔记,减少重复造轮子的时间。
大家共同学习,共同进步。
回复 支持 反对

使用道具 举报

发表于 2020-12-6 23:34:19 | 显示全部楼层
编写服务器
回复 支持 反对

使用道具 举报

发表于 2020-12-7 12:32:32 | 显示全部楼层
awqewqe
回复

使用道具 举报

发表于 2020-12-22 21:16:34 | 显示全部楼层
回复

使用道具 举报

发表于 2020-12-24 13:27:15 | 显示全部楼层
支持下haha
回复 支持 反对

使用道具 举报

发表于 2021-1-7 22:22:17 | 显示全部楼层
感谢分享
回复

使用道具 举报

发表于 2021-2-17 12:55:04 | 显示全部楼层
学习学习,谢谢分享
回复 支持 反对

使用道具 举报

发表于 2021-2-22 00:07:29 | 显示全部楼层
坎坎坷坷
回复

使用道具 举报

发表于 2021-3-20 21:10:49 | 显示全部楼层
11111111111111111
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-4-26 23:12 , Processed in 0.037493 second(s), 22 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表