在这几个月中阅读和编写了大量的套接字程序,所以对套接字 程序的编写也有了新的认识 。现在这里分享出来与大家交流一下,不足之处还望大家指正。
这里的示例程序是修改自 Winsocket入门教程一:多线程阻塞式服务器和阻塞式客户端程序(TCP) 中的客户端程序。相对于原来的程序,主要进行了以下几个方面的处理:
1.添加了更好的错误处理代码。使用GOTO语句将错误处理放到一起,可以使错误处理的代码更利于维护,并且减少代码的重复(Code duplicate)
2.使用微软推荐的函数getaddrinfo函数获取连接地址,不过冒似使用这种方法要写的代码更多。
3.发送和接收时使用循环发送和接收,以处理一次发送或者接收不完的情况。
示例代码如下