当前位置: 代码迷 >> Windows Mobile >> mobile 上CSocket莫名其妙的报错?该怎么处理
  详细解决方案

mobile 上CSocket莫名其妙的报错?该怎么处理

热度:114   发布时间:2016-04-25 07:53:09.0
mobile 上CSocket莫名其妙的报错????????????????
PC正常的的程序,移植到PPC
发现,在SOCKET方面有问题
我把代码精简了下,就这几行代码就会出错:
{
CSocket * sock = new CSocket();
if(sock->Create(5566, SOCK_STREAM) == 0)
AfxMessageBox( _T("初始化失败") );
}
我发现是在建立时发生的错误,我不明白为什么会发生这样的错误
但,程序并没有走那个提示框
而是直接给我报错,如下:

--------------------------
Debug Assertion Failed!
Program:\Program Files\PPCVideo\PPCVideo.exe

File:
f:\rtm\vctools\vc7libsce\ship\atlmfc\include\afxtempl.h

line:1708
press retry to debug

----------------------------
而错误的,正是系统的头文件
.......................

我不清楚,为什么会这样,谁告诉下,谢谢!

------解决方案--------------------
用 C# 好像比较容易

//试连接到服务器如果能连通就不需要打开GPRS了
try
{
//直接使用 Socket
Socket ClientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
IPAddress ipAddress = IPAddress.Parse("218.2.24.xxx");
IPEndPoint endPoint = new IPEndPoint(ipAddress, nnnn);

ClientSocket.Connect(endPoint);

if (ClientSocket.Connected)
{
//生成和发送数据
ClientSocket.Shutdown(SocketShutdown.Both);
ClientSocket.Close();
}
}
catch
{
//连接失败

------解决方案--------------------
好多年前, 在PC上, 我碰到类似的问题, 我也知道为什么. 但是,心境不同了, 不想回答了
  相关解决方案