用vc的console建立的服务器端,实现与多个客户端通信的问题??

dajunj 2008-09-16 09:57:18
我用vc的console建立了一个服务器端,开启后该服务器端监视客户端的连接,如何有一个客户上线了就开启一个console控制台实现与客户的数据交互,例如:在控制台上显示客户端传来的数据或输入数据传给客户端。有点像qq,但我要用控制台实现,不用图形界面。实际上,我的服务器端accept到一个用户就将该socket传给控制台去处理,这如何实现??
...全文
237 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
dajunj 2008-09-17
  • 打赏
  • 举报
回复
jameshooo:
那我如何创建多个console,实现与多个用户的通信
scq2099yt 2008-09-17
  • 打赏
  • 举报
回复
可以用多进程的方式,每个连接用一个控制台进程来处理。
dajunj 2008-09-17
  • 打赏
  • 举报
回复
创建多个进程的控制台,是不是只能使用CreateProcess(),不能用AllocConsole??
jameshooo 2008-09-17
  • 打赏
  • 举报
回复
多进程,别无它法
jameshooo 2008-09-16
  • 打赏
  • 举报
回复
楼上有人已经解释了,AllocConsole只是创建一个console窗口,并不是创建进程,而且console窗口只能创建一个。
dajunj 2008-09-16
  • 打赏
  • 举报
回复
能否给段用AllocConsole()创建console窗口的代码,并且实现数据的输入与显示
dajunj 2008-09-16
  • 打赏
  • 举报
回复
用AllocConsole()创建console进程,是先调用AllocConsole()函数,然后再用CreateProcess()创建吗??
xsc2001 2008-09-16
  • 打赏
  • 举报
回复
你可以做成三个工作线程模式,一个是专门监听客户端连接的线程,一个是工作线程,专门接收各个客户端Socket发送过来的数据,这个你可以每个客户端一个线程,也可以由一个线程批量select各客户端Socket,接收到数据后将接收的数据放到缓冲区中,再一个线程就是显示线程,它负责将缓冲区中的数据取出来显示在控制台上。
cnzdgs 2008-09-16
  • 打赏
  • 举报
回复
进程是用CreateProcess这类函数创建的,AllocConsole是分配控制台,不是创建进程。
dajunj 2008-09-16
  • 打赏
  • 举报
回复
liyinlei:
你的意思是服务器端每accept到一个用户就用AllocConsole创建一个进程??
jameshooo 2008-09-16
  • 打赏
  • 举报
回复
本来就不合适使用console,一个进程只可打开一个console窗口,如果不做特别处理,甚至连创建的子进程都共享同一个console窗口。还不如创建普通窗口来模拟console,想创建多少个窗口就创建多少个。
liyinlei 2008-09-16
  • 打赏
  • 举报
回复
用AllocConsole的话, 一个进程只能创建一个console。

得用多进程
dajunj 2008-09-16
  • 打赏
  • 举报
回复
accept的每一个用户将开一个线程来处理,这个线程将实现开启一个console以及通信操作,那么开启一个console实际上应该是一个子进程吧?
cnzdgs 2008-09-16
  • 打赏
  • 举报
回复
用单进程很难处理的。
dajunj 2008-09-16
  • 打赏
  • 举报
回复
请问AllocConsole()如何使用?
不是用createprocess()创建console吗?
内存泄漏 2008-09-16
  • 打赏
  • 举报
回复
在工作线程中不断监听,每accept一个新的客户端连接则开启一个线程完成接下来的打开窗口及网络通信等操作..
jameshooo 2008-09-16
  • 打赏
  • 举报
回复
就是为每个用户创建一个管道而已,服务器从管道中读取键盘指令,转换成数据包发给客户端,收到客户端的数据包后再通过管道输出给console屏幕显示。
用AllocConsole()创建console。
cnzdgs 2008-09-16
  • 打赏
  • 举报
回复
可以用多进程的方式,每个连接用一个控制台进程来处理。

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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