我曾经做过一个程序,使用数据库将小消息从一台电脑发送到另一台电脑。我的做法是把数据库放在共享文件夹中,让另一台电脑通过路径连接它,这样就可以简单方便地在网络上的电脑之间传递消息了。虽然不是最好的选择,但只是作业,快速而粗略的方式使我得到了好成绩。
但现在作业已经完成,我想改进我的做法。这个程序的问题出在部署阶段。直接连接共享文件夹上的数据库会涉及太多的文件夹/安装路径和管理/共享问题。
所以stackoverflow上的热心网友建议我尝试Socket编程,但我觉得这有点超出了我的能力范围。不过谁知道呢...
此外,我也知道同步和异步socket编程之间的区别。其中一个会阻塞,另一个则不会。我正在开发的程序是一个简单的回合制游戏,因此我认为同步可能足够了,因为如果轮到你的回合,你确实无法做任何事情。然而,问题在于该程序被视为“无响应”。我尝试过异步,但遇到了线程问题,我觉得这远远超出了我的能力范围。
从逻辑上讲,程序很简单。一个主机,一个客户端。客户端连接后,主机发送数据。然后客户端接收、发送自己的数据。这样一直持续下去,直到其中一个玩家输掉比赛。
很遗憾,我学校只安装了.NET 2.0。没有WCF或其他任何东西。而且必须使用C# Windows Forms完成,所以XNA不行。
那么,我想问一下...有没有一个简单的方法来进行Socket编程?有没有可以帮助的指南/示例项目?可以学习和调整的预先制作的代码?
我找到并修改的大部分示例都是聊天应用程序,我觉得这足够好,但将其变成模块化的程序就会出问题。
但现在作业已经完成,我想改进我的做法。这个程序的问题出在部署阶段。直接连接共享文件夹上的数据库会涉及太多的文件夹/安装路径和管理/共享问题。
所以stackoverflow上的热心网友建议我尝试Socket编程,但我觉得这有点超出了我的能力范围。不过谁知道呢...
此外,我也知道同步和异步socket编程之间的区别。其中一个会阻塞,另一个则不会。我正在开发的程序是一个简单的回合制游戏,因此我认为同步可能足够了,因为如果轮到你的回合,你确实无法做任何事情。然而,问题在于该程序被视为“无响应”。我尝试过异步,但遇到了线程问题,我觉得这远远超出了我的能力范围。
从逻辑上讲,程序很简单。一个主机,一个客户端。客户端连接后,主机发送数据。然后客户端接收、发送自己的数据。这样一直持续下去,直到其中一个玩家输掉比赛。
很遗憾,我学校只安装了.NET 2.0。没有WCF或其他任何东西。而且必须使用C# Windows Forms完成,所以XNA不行。
那么,我想问一下...有没有一个简单的方法来进行Socket编程?有没有可以帮助的指南/示例项目?可以学习和调整的预先制作的代码?
我找到并修改的大部分示例都是聊天应用程序,我觉得这足够好,但将其变成模块化的程序就会出问题。
System.Net.Sockets
命名空间的文档。 - Oded