C#winform窗体程序如何既做服务器又做客户端??

安卓学习学习 2014-01-08 02:09:47
纯新人,vs2008+XP+C#窗体环境
A程序,既做服务器,又要做客户端
做服务器的时候,用多线程监听了一堆客户端
做客户端的时候,要跟另外一台服务器B通信,接收B发过来的各种指令,然后进行操作
由于做客户端的时候,A也要启动多线程进行操作

private void Form_Load(object sender, EventArgs e)
{
try
{
//作为服务器开启端口监听线程
StartServerListening();
//作为客户端连接服务器
ConnectServerB();
}
catch (Exception ex)
{
MessageBox.Show("错误信息:" +ex.Message);
}
}

这样写,会不会StartServerListening()执行完才执行后面客户端的连接?因为StartServerListening()里面是多线程操作,会持续运行

这个步骤不太懂,请指点一下,我希望StartServerListening()和ConnectServerB()能几乎同时运行,这样就能既做服务器又做客户端了。


...全文
526 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
本拉灯 2014-01-08
  • 打赏
  • 举报
回复
可以做的呀,这两个不冲突。现实很多例子 比如网关服务端就是这样。 他是客户端的直连服务端 又是业务处理服务端的客户端 像这样 Client<-->Gateway Server<-->BLL Server 我们都这么干 你说的A也要启动多线程进行操作 多线程是在服务端模式做多线程,客户端模式只要一个线程 相当于你的那个服务端的要开的线程数 即N+1 N为服务端的线程 1为客户端线程 你要把服务端模式与客端模式的代码全改为异步模式就可以同时运行。
  • 打赏
  • 举报
回复
解决方案->属性->选中多启动项目
安卓学习学习 2014-01-08
  • 打赏
  • 举报
回复
引用 1 楼 lyq8376 的回复:
客户端跟服务端的项目是分开的,但是可以放在同一个解决方案中
那如何运行呢?我现在在原来的解决方案中,又加了一个项目,作为客户端来使用 解决方案重新生成后,运行,弹出的界面还是原来的项目 我如何让新项目也能同时运行呢??
  • 打赏
  • 举报
回复
客户端跟服务端的项目是分开的,但是可以放在同一个解决方案中

111,092

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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