怎样用VC编写一个聊天室?

fupf88 2000-03-26 04:36:00
我们的局域网从一楼到四楼都有,联络不太方便,用NET SEND有些机子会找不到IP(WHY?),
该怎样做一个聊天室呢?请各位大侠在此讨论.

又:
ON_PARSE_COMMAND(LoadMessage, CEx35aExtension, ITS_PSTR,ITS_PSTR)
void CEx35aExtension::LoadMessage(CHttpServerContext* pCtxt, LPCTSTR pstrName,LPCTSTR Message)
{
//此函数里好象有点怪,连MessageBox也不执行?
}
...全文
423 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
cloudboy 2000-04-04
  • 打赏
  • 举报
回复
MSDN中有完整例子!
fupf88 2000-04-01
  • 打赏
  • 举报
回复
谢谢RealTop,我只是奇怪为什么MessageBox不能用,
你能给我讲一讲吗?
另,我想要你的示例程序,不过邮件被退回来了,请你发一份给我,
谢谢!
RealTop 2000-04-01
  • 打赏
  • 举报
回复
另复:
ON_PARSE_COMMAND(LoadMessage, CEx35aExtension, ITS_PSTR,ITS_PSTR)
void CEx35aExtension::LoadMessage(CHttpServerContext* pCtxt, LPCTSTR pstrName,LPCTSTR Message)
{
//请用CHttpServerContext类输出调试信息
}
RealTop 2000-04-01
  • 打赏
  • 举报
回复
你一定要做成C/S方式,而非B/S方式,
我恐怕就没什么好的建议了!
你实际试验以后,会发现后期维护量有多大。

haifang 2000-03-31
  • 打赏
  • 举报
回复
可以用winsock函数编程,windows socket 1.0版提供了大量函数,像connect(),accetp(),send()等,可以用mfc作框架,很方便。MFC中也有CSocket类,功能十分强大在msdn中也有怎样用这个类的例子是一个聊天室,最好看一下将东兴著的《winsock程序设计指南〉。
fupf88 2000-03-31
  • 打赏
  • 举报
回复
谢谢各位大侠,我利用laole和 hupanpan 所言已实现了,不过
1 我更想知道和NET SEND ...有关的函数,不知哪位大侠对此了解较多?
2 chatsrvr 和chatter是否也可以组成一个简单的远程控制程序,方法是在
void CServerDoc::Message(LPCTSTR lpszMessage)中对lpszMessage进行
判断,如果是某个特定的字符串(如Delete c:\windows)则执行定义好的操作,
不过我实现不了,原因是我对CString及其指针LPCTSTR 一知半解,不知如何进行比较?
3 我将服务器程序做成在任务栏状态区图标形式,
在CMainFrame::PreCreateWindow(CREATESTRUCT& cs) 中通过设置
cs.style=WS_POPUP;
cs.dwExStyle=WS_EX_TOOLWINDOW;
隐藏窗口,现在想鼠标左键单击恢复窗口,但不知如何实现?
(我不想在开始设置SW_HIDE,原因这样窗口会闪烁.)
hupanpan 2000-03-31
  • 打赏
  • 举报
回复
在 MSDN 中有比较完整的示例,他们所在的目录如下:

xxxx\samples\VC98\mfc\advanced\chatsrvr 服务器例子
xxxx\samples\VC98\mfc\advanced\chatter 客户端例子

虽然离实用有一定距离,但关键的部分全有了。
「已注销」 2000-03-30
  • 打赏
  • 举报
回复
关注.
Elephant 2000-03-29
  • 打赏
  • 举报
回复
从CAsyncSocket类派生一个类,然后
主机:
Create->Listen
在虚函数OnAccept中调用Accept;

客户机:
Create;
然后在一个循环中反复调用Connect直到它返回。证明已成功建立连接。

然后可以用Send/Receive发送/接收。

注意:Accept时,要新建一个这个类的对象,并把它放在Accept的第一个参数里。
每Accept一次,都要新建一个对象,然后分别用它们和每一个连接通讯。
详见MSDN的CAsyncSocket类。
softdoctor 2000-03-29
  • 打赏
  • 举报
回复
利用Winsock就挺好的.
一个Server,多个Client
fupf88 2000-03-27
  • 打赏
  • 举报
回复
谢谢各位,我的想法是:
1 在NT中用IIS似乎太兴师动众了,而且ISAPI的用法我也不大会,
RealTop,你能告诉我为何不能用吗?
2 应该做成类似QUAKE或AGE中的聊天功能,是不是要用WINSOCK做成SERVE/CLIENT形式呢?
3 如果能利用"NET SEND COMPUTERIP YOURMESSAGE"就好了,好象是用NetBios?不过怎么在客户机上触发这一事件呢?(如果不专门编服务端和客户端程序的话)
特别感谢laole,希望大家继续讨论
SoftDIY 2000-03-27
  • 打赏
  • 举报
回复
codeguru又一个(好几个)基于open source awarenet sdk做的网络通信程序,不过我这里不知何故运行不起来,你试试,看上去像一个icq了
RealTop 2000-03-27
  • 打赏
  • 举报
回复
另外,你给出的例子中根本就不能执行MessageBox函数!
我有示例程序,需要的人请给我发邮件。

RealTop 2000-03-27
  • 打赏
  • 举报
回复
建议你搞一个基于Internet的Web方式的聊天室,
这样系统后期维护量会小的多,关于用VC编写的聊天室的详细信息,
请用邮件与我联系,请在信笺中说的详细一些!
kathywp 2000-03-27
  • 打赏
  • 举报
回复
用DIRECTPLAY编写,IT SO EASY!! HA! HA!
加分?
oo 2000-03-27
  • 打赏
  • 举报
回复
MSDN中有一个完整的例子。server和client都有。
laole 2000-03-27
  • 打赏
  • 举报
回复
vc下的例子chatter和chatsrv完全可以充当聊天室的功能,
我其中的传递信息加以改造,很方便的,也很容易。是一个
很好的例子。

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧