今天学习了发送与接收流式数据、进程和线程、工作线程、线程的终止、MFC下多线程的同步机制、
发送与接收流式数据:当服务器和客户机建立了连接以后,就可以在服务器端的连接套接字对象和客户端的套接字对象之间传输数据了。对于流式套接字对象,使用CSocket类的Send成员函数向流式套接字发送数据,使用Receive成员函数从流式套接字接收数据。
1.用Send成员函数发送数据:对于一个CAsyncSocket套接字对象,当它的发送缓冲区腾空时,会激发FD_WRITE事件,套接字会得到通知,MFC框架会自动调用这个套接字对象的OnSend事件处理函数。一般编程者会重载这个函数,在其中调用Send成员函数来发送数据。
2.用Receive成员函数接收数据:对于一个CAsyncSocket套接字对象,当有数据到达它的接收队列时,会激发FD_READ事件,套接字会得到已经有数据到达的通知,MFC框架会自动调用这个套接字对象的OnReceive事件处理函数。一般编程者会重载这个函数,在其中调用Receive成员函数来接收数据。在应用程序将数据取走之前,套接字接收的数据将一直保留在套接字的缓冲区中。
利用所学制作一个接收发送文件程序,其中实现服务器IP地址的显示、服务器端口的显示、接收文件和发送文件等功能。
进程:是应用程序的执行实例,就是指在系统中正在运行的一个应用程序。每个进程是由私有的虚拟地址空间、代码、数据和其它各种系统资源组成,进程在运行过程中创建的资源随着进程的终止而被销毁,所使用的系统资源在进程终止时被释放或关闭。
线程:是进程内部的一个独立执行单元。系统创建好进程后,实际上就启动执行了该进程的主执行线程,主执行线程以函数形式,比如说main或WinMain函数,将程序的启动点提供给Windows系统。主执行线程终止了,进程也就随之终止。
工作线程:工作线程适用于处理那些不要求用户输入并且比较消耗时间的其 他任务(如大规模的重复计算,网络数据的发送与接受)。
利用所学制作一个简单的线程程序,实现输入线程循环次数,并可以计算出来。
今天所学内容较多,基本操作已可以应用,代码有待理解。
网友评论