还一上来就要用封装好的mfc类,哀分少啊,帮你说说吧
建立一个新类从casyncsocket
public
派生来,叫
mysock,然后在cxxxdlg的头文件加个变量
mysock
m_socket
然后
cxxxdlg中的initdialog初始化,
m_socket.create(0,sock_dgram)
使用udp恩首先你要考虑到服务器端也是使用udp的协议的,然后就可以调用
m_socket.sendto(buffer,strlen(buffer),3333,"xxx.xxx.xxx.xxx")
3333是服务器等待接收数据的端口,xxx.xxx.xxx.xxx
是服务器的ip,恩域名也可以...如果服务器是tcp的话要用connect连接然后用send方法发送数据,使用完调用close关闭socket,也疴可以不关,类销毁时会自动释放所使用资源,恩至于要等蔽肆待接收数据,udp需要bind,可以在create的时候就绑定上,而tcp不光要绑定上还要listen监听,tcp有连接来后要用accept接收连接,给它一个新的
casyncsocket,呵呵就说这么点,对了在bool
cxxxapp::initinstance()的初始化函数中添加
if
(!afxsocketinit())
{
afxmessagebox(idp_sockets_init_failed)
return
false
}
还有头文件
#include
<afxsock.h>
//
mfc
socket
extensions
.或者你在创建工程时选择上winsocket,
恩对了csocket是堵塞的套接字,需要同步很强的工作再选择团旁他,一般使用异步的,给宏或轿分!
不可能,一定是哪个地方写错闭迹渣了。CAsyncSocket是异步通信州绝,需要在OnReceive和OnSend中进行轿悄处理。
不能象CSocket哪样直接判断Receive/Send的返回值。
socket.connect(_T("和戚搭www.baidu.com"唤拿),80)LPCTSTR 是指const wchar_t*
如果你不修改代码的话,可以设置不支持unicode,
项目--》属性--》字符集仔带--》未设置
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)