client
-----------------------------------------
class talkwnd:wnd{
RegClientGroup();
autowidth=100;
autoheight=100;
bk:=color(#003300);
obj m_pMain;
class richtext:textdoc{
pos=8,8;
autowidth=100,-16;
autoheight=100,-52;
bk:=round(#FFCC66,-4,-4,8,1);
obj m_pScroll=new listscroll;
void OnViewChanged(){
m_pScroll.OnViewChge();
}
void OnAdd(string txt){
addline=txt;
viewoffset=0,50000;
}
}
obj m_pSayText;
class say:text{
src="Say:";
xpos=5;
valign=100,-30;
};
m_pSayText=new say;
class input:edit{
maxnum=80;
xpos=40;
height=16;
autowidth=100,-50;
valign=100,-32;
bk~a:=color(#333399);
bk:=rect(0,#3333CC);
void OnEnter(){
pid.m_pMain.TalkTo(src);
src="";
}
}
class 通讯:socketc{
defcreatewnd=pid;
userinfo="talk","user","dj"+str(rand(100)),"123";
c;
c;
};
obj m_pList=new richtext;
obj m_pEdit=new input;
obj m_pSocketc=new 通讯;
class 其他用户:wnd{
string m_sUserName;
void NetTalk(string talker,string msg){
string txt="\#FFFFCC"+talker+"说:\#FFFF00"+msg;
pid.m_pList.OnAdd(txt);
}
void RemoteCreate(string username,string group){
m_sUserName=username;
string msg;
msg=m_sUserName+"来了";
pid.m_pList.OnAdd(msg);
}
void OnDestroy()
{
string msg;
msg=m_sUserName+"走了";
pid.m_pList.OnAdd(msg);
}
}
class 用户:其他用户{
pid.m_pMain=this;
void TalkTo(string msg){
tos<<OnTalk(m_sUserName,msg);
}
void CreatePlayer(string username){
m_sUserName=username;
}
void OnTestMsg(var v)
{
pid.m_pList.OnAdd(v.type+v.str);
}
void Test(){
var v=(1,2,3,"aaa");
tos<<OnTest(v);
}
}
new CmdBtn("List","pid.m_pMain.Test()");
}
bk:=null;
<talkwnd>;
--------------------------------------------------------
server
----------------------------------------------------------
<wnd>{
obj m_pServer=new sockets;
m_pServer.start=11000;
pid.style='font-size:10px'00,120;
size=pid.size;
RegWebGroup(m_pServer,"talk");
class user:wnd{
string m_sMyname;
void OnTalk(string talker,string msg)
{
tog<<NetTalk(talker,msg);
}
var Create()
{
return ("RemoteCreate",m_sMyname,"talk");
}
void OnWebPlayerCreate(string username,string pass,string address,string extmsg)
{
m_sMyname=username;
RegWebPlayer("用户");
toc<<CreatePlayer(username);
RegWebObj("其他用户","Create");
}
void OnTest(var v)
{
toc<<OnTestMsg(v);
}
}
}
分享到:
相关推荐
标题中的“fcc-chatbot-example”指的是一个专门为FreeCodeCamp(一个在线编程学习平台)创建的聊天机器人示例项目。这个项目旨在帮助用户理解和实践如何构建一个聊天机器人,它基于JavaScript编程语言,这是一种...
6. **项目实战**:通过实际的网页项目,如天气应用、新闻聚合器、实时聊天应用等,锻炼解决问题和实现功能的能力。 总的来说,"FCC: 免费代码营地代码位"是一个全面的JavaScript学习平台,不仅教授理论知识,还注重...
scratch少儿编程逻辑思维游戏源码-减压游戏.zip
少儿编程scratch项目源代码文件案例素材-英勇之鸟.zip
少儿编程scratch项目源代码文件案例素材-羊羊繁殖V2.5.zip
scratch少儿编程逻辑思维游戏源码-加特林混战 多人游戏.zip
少儿编程scratch项目源代码文件案例素材-西装英雄.zip
在使用 R 语言进行科研绘图时,颜色的选择是一件让人特别纠结的事情。本系列文章介绍了 R 语言科研绘图时常用的一些配色。本资源给大家提供了文章对应的 PPT。
scratch少儿编程逻辑思维游戏源码-海洋战争.zip
少儿编程scratch项目源代码文件案例素材-万圣夜惊魂.zip
HarmonyOS安全开发赋能,含有HarmonyOS多个场景的安全策略赋能
平台的服务端和客户端源码 整理出来的的游戏源码
scratch少儿编程逻辑思维游戏源码-街头霸王.zip
少儿编程scratch项目源代码文件案例素材-小船.zip
scratch少儿编程逻辑思维游戏源码-几何冲刺(4).zip
少儿编程scratch项目源代码文件案例素材-消灭病毒大作战.zip
scratch少儿编程逻辑思维游戏源码-功夫猫.zip
scratch少儿编程逻辑思维游戏源码-节奏积木 马里奥.zip
scratch少儿编程逻辑思维游戏源码-可爱的超级马里奥.zip
scratch少儿编程逻辑思维游戏源码-解压.zip