有日子时间没有更新blog了。我的水平没达到高手级别,这个blog是不会听地!
没更新是因为,之前一段时间在MFC上面卡住了相当一段时间。也说不清楚,一直看教程没有感觉。but,一遍没感觉2遍,2遍没感觉3遍。终于,有感觉了(说的有点内个)。
主要是对VC里面的基础操作,MFC的一些基础类有了初步的熟悉,还停留在CWnd啊,CButton啊,积累吧。学好vc,需要轻松查阅msdn,我虽然英语不错,但是看这个还是费劲,看不下去,需要付出努力。
稍微的熟悉了MFC之后,投入了socket编程的学习,着急应用这块的东西。看了TCP连接的一个视频和例程,算是了解了。下面我自己默写一下流程(注意是默写),考验下我有没有记住,写的对不对:
//这是两个个简单的console工程,服务端和,只有main函数
#include<winsock2.h> //包含socket编程的头文件,貌似拼写不是很对
//在工程选项中,将WS_W2.lib添加进去,具体拼写好像也不对。
main()
{
WSAStartup......
//先是将WSAStartup的一对代码粘贴在开头,教程是那么做的,还把2版本改成1,这块不是很清楚,但是不要紧。
SOCKET sockSrv; //创建套接字实例,这个事服务端
SOCKADDR_IN addrSrv; //创建服务端的地址结构,这块用SOCKADDR_IN的结构,和标准的SOCKADDR有啥区别我还不知道。
addrSrv.family=AF_INET; //据说所有都用AF_INET。
addrSrv.port=htons(6000); //注意要转换成网络字节序,网络字节序这块还了解的不很深,以后在巩固。
addrSrv.......sin.addr=inetaddr(INADDR_ANY); //前面挺长的,具体的了解也不是很深待巩固。
//inetaddr()是将IP地址转换为u_long类型,INADDR_ANY是任何IP地址。
bind(sockSrv,(SOCKADDR*)addrSrv,sizeof(SOCKET)); //绑定!具体好像是这样的。注意的强制转换SOCKADDR_IN为SOCKADDR的指针类型。
//第三个参数要SOCKET结构的长度,我都不知道干啥的。
listen(sockSrv,); //监听,参数忘了……
SOCKET sockConn; //创建连接的套接字
SOCKADDR_IN addrconn; //连接的地质结构
len=??? //好像还需要一个什么长度来的
while(1) //做个死循环,抱着不断accept
{
accept(sockSrv,&sockConn,len) //接收,参数记得也不是很清楚了,
send(); //发送
}
客户端也差不多了,就是由connect()函数。
由于是默写,错了很多哦,不过初步了解了,有点小小小小的成就感。
好了,这次写到这里吧。
现在出差了,只拿着笔记本出来了,学习进度可能没之前快。(唉,之前也不是很快)
}