这两天写一个远程控制的程序,在本机上测试没问题,但是换成远程测试的时候,许多问题就来了,这才发现不是简单的send和recv就可以了事的,实际的网络通信很复杂,数据不是一次发送和接受就可以成功的,所以要做判断,然后循环发送和接受。
mysocket.h
mysocket.cpp
对send,sendto,recv,recvfrom加了mode参数,默认值为0 ,既一般发送,为1时为完全发送模式,即将需要发送和接受的数据按指定大小完全接受和发送后才返回。另外还加了个startup和cleanup两个静态函数,用于初始化winsock库和释放用的。原本想加个gethostbyaddr方法,但是测试的时候老是错误,具体原因不知,所以就直接返回null了。
本文有不足之处,还望大家多多指正。