WSASocket()的怪问题。(100分)

  • 主题发起人 主题发起人 steve
  • 开始时间 开始时间
S

steve

Unregistered / Unconfirmed
GUEST, unregistred user!
struct WSAData stWSAData;
SOCKET hSock;

if(WSAStartup(0x0202,&stWSAData)==0){
hSock = WSASocket(AF_INET,SOCK_DGRAM,IPPROTO_UDP,NULL,0,
WSA_FLAG_MULTIPOINT_C_LEAF|WSA_FLAG_MULTIPOINT_D_LEAF);
if(hSock = INVALID_SOCKET){
sprintf(errmsg,"无法打开socket! [%d]",WSAGetLastError());
MessageBox(hWnd,errmsg,"Fatal error",MB_OK);
return;
}

总是弹出窗口:“无法打开socket! [0]”,这是怎么回事?
 
呵呵,自己解决了,很弱智的说

if(hSock = INVALID_SOCKET){
^^^^^^应该是==的说

谁给个网络传输大文件的算法,200大洋就是他的了。
就是拆包,合并的问题,如果后发出的包先收到,如何处理?
最好用delphi给段代码的说。
 
可以仿照outlook的对附件处理做法,但是解码和编码要自己写了。我也没有看过原码。
但是写起来不会很麻烦的。
 
没有得到答案,我如何结束?
大富翁应该提供这方面的功能。
 
还没人回答?
如果谁能告知如何直接发以太网帧我就把分给他了。
大富翁的牛人都到哪里去了?
 
你的问题怎么又扯到以太网上去了?

用TCP就不用考虑拆,合并的问题了。
 
直接发以太网帧:可以看看Ipman的源代码,要用到vxd的

to steve:问题解决了应该高兴,给点分以示庆祝嘛!
 
使用tcp,不用担心包的先后次序,你只管收就可以了,会有更低层的程序
帮你搞了
 
可是我要用multicast来发送和接收,如何使用流的方式啊?pipi?
直接收发以太网帧我也解决了,呵呵,使用ddk编译的packet32。
本来我还要问关于前向纠错的,可是大富翁上关于纠错的所有文章里
只有hexi_dephi做过BCH2的纠错编码,可是我又联系不上,唉,看来这里
搞通信的太少了。算了,结束问题吧。
 
多人接受答案了。
 
后退
顶部