游戏编程入门学习笔记18——网络篇——初步建立连接

随后的工作中,我发现因为自己各种基础知识的薄弱,每前进一步都会遇到n个节外生枝的问题。 

 

整理下代码,建立自己的MyWinsock.hMyWinsock.cpp

遇到个重复定义的问题,解决见下:

关于WINSOCK.Hwinsock2.h中的重定义解决办法分析 

http://eggbucket.iteye.com/blog/1140232

 

然后我试图不利用消息框,直接在画面中显示IP

定义一个返回指针的函数,将获得的IP地址字符串头指针存储在全局变量char *ip中,在游戏显示调试信息时一并显示出来。顺利实现。

 

常识:

    当一个非void函数有可能不返回值时会警告warning C4715: 不是所有的控件路径都返回值。只要将函数写的完备些就ok了。

 

下一步我想实现对远程客户端的控制。

先不要搞太复杂,初步打算做一个运行后就不断试图和我的IP建立连接的客户端,而我这边的主机已经早早打开等待着,一旦收到请求就同意连接,成功后显示,而后对方的操控动作会在我这边反映出来。

对着书一句句抄服务端程序,编译中先后遇到LNK2005LNK2001问题。

常识:

    不管是变量还是函数,都要先申明再定义,让编译器自动在定义同时申明的做法并不规范。

相关文章如下:

VC++的链接错误LNK2005
http://bbs.csdn.net/topics/70346371

extern的用法

http://blog.csdn.net/henry_sea/article/details/6185454

 

发现自己对监听、连接、接收的机制还不是很理解,比如listen之后,服务端程序是不是就一直自动等待客户端的connect申请?假如在一个子函数中listen,跳出子函数后能否再建立连接?

不管这些了,先试试看,机制设置为用while循环让服务端和客户端不断互连,连成功了才跳出。

在本机开两个端测试暂时达到目的。不过用了while循环后程序很容易不响应像死机一样,这里就有一个如何让程序等待而不占用cpu的问题。

你可能感兴趣的:(游戏编程入门学习笔记18——网络篇——初步建立连接)