基于MFC的网络编程(远程桌面监控)学习笔记(二)发消息

在编写整个系统过程中参考了无数csdn的文章,我,,,,找不过来,如有侵权联系我我设私密就好,这个是我自己学习用的,谢谢各位csdn的大佬

在建立好socket通信之后我们就要开始第一步发送消息,在socket通信的过程中,能通信的媒介数据类型应当是char*类型的,所有你的媒介应当设置为char出来的数组,如果需要进一步解析再利用各种类型转换函数,转换实现你所需要的解析即可,文末我会贴几个我自己在网上搜到转码方式,以供方便使用

发送信息就是传说中的send函数,这个函数你们可以去网上搜一下,具体的理论多的是在这里就不赘述了,直接亮代码

int res = send(*transpsocket, buf, 1024, 0);//buf这里前期你们可以令成数组
	if (res > 0) {
		MessageBox(L"close success");
	}
	else MessageBox(L"failure");

就是这样一段简单的代码就将信息发送过去了,但是这里我想稍微记录一下一个机制,叫做socket阻塞机制,所谓socket阻塞机制就是用send函数发送信息的时候,如果对方没有接受,这里是会阻塞住不会发送下一条的,这一点在动态编程里面非常的重要,何为动态编程呢,就是你收发是持续进行的,在这里先提一下,到后期的视频传输,会详细说明。

既然有发就一定有收,发是send,收当然是recieve了,大家都是英语高手,这一定能联想得到把!

也是话不多说直接亮代码,理论知识自己百度,反正笔者是会的(自己认为自己会了HHHH)

int res = recv(sockClient, buf, 1024, 0);//与send类似
if (res > 0) {
		MessageBox(L"close success");
	}
	else MessageBox(L"failure");

这样我们消息的收发就做好了

现在说几个转换函数

第一个最简单的char转CString

CString str(message.processname);//直接括号转换即可

第二个CString转char*

CString str;
USES_CONVERSION;
	char*pcorder = T2A(str.GetBuffer(0));
	str.ReleaseBuffer();//官方的转码方式

先介绍这两个,在编程的过程中还会遇到很多这样转码的问题,希望大家可以在以后多百度,勤百度!

这样消息就发送完毕了

上一篇:Python 3 tkinter消息框突出显示“否”按钮?


下一篇:Tkinter之messageBox