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上, 我碰到类似的问题, 我也知道为什么. 但是,心境不同了, 不想回答了