局域网游戏通信问题
本人想做一个俄罗斯方块的局域网游戏
单机版已经完成
现在对Socket编辑不是很了解(基本上可以解决简单的聊天程序),望大家指点一二
问题如下:
一、两个客户端之间怎样发送数据?(要发送自定义的结构体)
二、通过服务器转发,是不是要用到IP多播?那样才能正确的将游戏信息发送到指定客户端
三、用CSocketFile是不是更容易解决网络通信问题?(相对于这程序而言)
四、要是能分享一些源码感激不尽。呵呵,在看源码中学习成长
问题点数:80、回复次数:5Top
1 楼an_bachelor(洗澡就是浪費生命)回复于 2006-03-19 06:31:05 得分 20
MSDN帶了兩個例子
CHATTER
CHATSRVR
Top
2 楼DentistryDoctor(不在无聊中无奈,就在沉默中变态)回复于 2006-03-19 08:20:27 得分 20
推荐
《Windows网络编程技术》Top
3 楼warrior740(学习中进步)回复于 2006-03-19 11:14:33 得分 0
MSDN带的两个列子,我看了下,点对点发些消息还是可以搞定,但要弄到几个人同时一起发送消息和接收消息,还是有些困难,我想,应该有比那更好的方法吧
Top
4 楼laiyiling(陌生人[MVP])回复于 2006-03-19 11:40:47 得分 20
看看MSDN的例子MFCAsync,多线程的C/S模式.
http://support.microsoft.com/kb/192570
还有网上有不少类似的俄罗斯方块的源代码Top
5 楼xuzheng318(忧郁王子)回复于 2006-03-19 12:26:02 得分 20
从CAsyncSocket派生类的OnConnect函数里判断。
class CConnectSoc : public CAsyncSocket
{
virtual void OnConnect( int nErrorCode );
};
void CConnectSoc::OnConnect( int nErrorCode )
{
OutputDebugString(_TEXT("CConnectSoc::OnConnect\n"));
if (nErrorCode == 0)
//连接成功,通知主窗口
else
//连接失败 }
CAsyncSocket::OnConnect(nErrorCode);
}Top




