
正文
c++mfcsocket编程,c++ socket编程
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
求VC++6.0的基于MFC对话框的Socket通讯的代码,主要是完成服务器和客户端...
{AfxMessageBox(IDP_SOCKETS_INIT_FAILED);return FALSE;} 创建服务套接字并创建监听线程。
这个是协议的问题,不用什么控件实现,在你要连接的时候先发送0x06,然后等待收到0xAB,若超时则说明连接失败,程序退出。有一个专门用来串口通讯的控件。串口通信不是那么好调的,代码给你也没用。
} return(0L);} 对于客户断开连接,会产生一个FD_CLOSE消息,只须相应地用closesocket()关闭相应的Socket即可,这个处理比较简单。
单击“选择文件”弹出文件对话框,选择一个要发送的文件,同时保存文件的路径。单击“发送”则会读取ServerConfiguration.ini文件中的配置信息(IP和port),并根据此信息建立Socket连接,发送文件。
我有用VC++0编写的Socket通信程序,但是用UDP协议的,不是TCP。有意请回复。。
服务器端:第一步:VC创建MFC对话框应用程序。第二步:在对话框中拖一个用于显示客户端发送的数据显示框。 第三步:程序启动创建socket监听,等待客户端连接。 第四步:创建接受线程等待客户端发送数据上来,并显示。
相关问答
Q1: 基于mfc的socket编程怎么进行文件传输
单击“选择文件”弹出文件对话框,选择一个要发送的文件,同时保存文件的路径。单击“发送”则会读取ServerConfiguration.ini文件中的配置信息(IP和port),并根据此信息建立Socket连接,发送文件。
// 用事件对象CEvent,这个CEvent对象声明为对话框的成员函数,比如 // CEvent m_eventFileSendFinished;// 然后将这个事件对象初始化为手动,无信号状态。
一般来说,很多人都会说,Socket编程基本就是listen,accept以及send,write等几个基本的操作。是的,就跟常见的文件操作一样,只要写过就一定知道。对于网络编程,我们也言必称TCP/IP,似乎其它网络协议已经不存在了。
另外,第一个进程也可以通过一些其它IPC机制(有名管道、邮件槽等)把名字传给第二个进程。(3)句柄复制:第一个进程建立文件映射对象,然后通过其它IPC机制(有名管道、邮件槽等)把对象句柄传递给第二个进程。
socket套接字,传文件一般都用ftp协议,Linux下有源码,你可以参考一下。windows应该是winsock。
Q2: mfc多线程socket
sock4A不是用CSocket生成的实例吧,CSocket没有setp这样的成员函数。
线程首先是“CPU时间片分配”概念,是和主进程“并发”同时进行的。创建并“抛出”线程后,两者同时执行,如果没有waitingforsingleobject之类的语句,两个线程之间互不干扰。所以不是“一根线”的概念,没有怎么进入一说。
可以建立一个连接,然后在发送数据的时候在数据包中作个标记,表明时那个编辑框发送的。也可以建立几个链接,对应不同的编辑框,各发各的。如果要实现同时发送数据的话可以使用多个线程完成。用到得函数就是socket的几个API。
其实动态使用在其他计算机上也是可以到,应为win2k以上mfc动态库windows目录下也是有的。不是必须要静态库。但是你编译的必须是release版,应为一般系统不带debug版本的mfc库。
Q3: 在windows下用C语言如何实现socket网络编程,需要用到哪些头文件或者库...
1、这些接口是在Winsockh中定义的不是在mfc中定义的,你只需要包含Winsockh头文件和Ws2_3lib库就可以了。
2、要实现网络编程,首先得了解网络编程的原理。大部分网络编程底层都是通过TCP/IP或者UDP协议进行通讯,不管是TCP还是UDP通讯,都是通过调用socket实现的。Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。
3、Ping命令是用来进行网络连接测试的一个程序,其对应的文件名为“ping.exe”。根据不同的测试目的,此命令可以带上不同的参数。
4、可以使用socket编程。在Linux和Windows下都可以,就是库不一样。Linux下需要包含 sys/socket.h文件。windows下的socket叫做win socket,使用起来更加方便。
Q4: MFC中socket编程时recv设置超时属性后,如果超时返回值是什么?谢谢大家...
1、如果recv在copy时出错,那么它返回SOCKET_ERROR;如果recv函数在等待协议接收数据时网络中断了,那么它返回0。
2、recv函数返回其实际copy的字节数,如果recv在copy时出错,那么它返回SOCKET_ERROR。如果recv函数在等待协议接收数据时网络中断了,那么它返回0。
3、当超时时间到达后,recv会返回错误,也就是-1,而此时的错误码是EAGAIN或者EWOULDBLOCK,POSIX.1-2001上允许两个任意一个出现都行,所以建议在判断错误码上两个都写上。
4、并设置好超时时间(struct timeval *timeout)调用select( socket, &rset, &wset, NULL, timeout )返回0表示connect超时 如果你设置的超时时间大于75秒就没有必要这样做了,因为内核中对connect有超时限制就是75秒。
c++mfcsocket编程的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c++ socket编程、c++mfcsocket编程的信息别忘了在本站进行查找喔。





