首先我们需要思考的问题是,我们需要 Client 还是 Server , 我们的地址怎么获得,怎么传输数据。当有多个连接时,我们怎么去分辨链接。特别是服务器模式,由于是被动连接,如果对方无法给出是哪一个连接的信息,就要特别思考分辨连接对象的问题。
较好的开发是: 我具有完整的连接端,比如,我需要client,我做一个CMyTCPClient ,我具有完整的SOCKET初始化,创建,数据收发,错误信息保存等功能。 如果有多个连接,我需要创建一个事物处理类,用来处理所有的连接,例如: GetWeight() (假设我们有一个连接是用来处理重量等),我们通过这个事物处理类,创建几个Client 的对象,然后在函数中,调用这些对象来完成事物处理。
在这一次的编程中,我本想的是给对方提供两种模式,客户端和服务端都提供。在通过WSAAsyncSelect()函数,很快速的搭建起来了 连接、取消访问、数据收发的功能,但是最后应为对方是不会给出我连接信息,我不能处理事务。因此,做这个比较,给自己一个教训,明显的缺乏开发经验和完整的细节思考整个项目的过程。