程序的需要,我希望在绑定地址之后connect一次断开再listen,或者listen之后再connect一次,但两者似乎有冲突,无法做到?还是因为缺少了某些步骤?望请教!谢谢!

解决方案 »

  1.   

    我需要用同一个端口做两次任务。
    1. connect -> send -> recv -> closesocket
    2. listen -> accept先2再1似乎不可能。先1再2遇到问题,我在1的时候已经closesocket了,但却无法再执行listen,得到错误说这个socket已经连接。试过重新WSAStartup、bind、WSACleanup也不行,第二次bind不到。
      

  2.   


    在1,2之间调用一次socket不就行了么?
    closesocket之后socket已经无效,所以需要重新创建。
    当然同时使用本地同一端口是不行的,错开时间就OK了我想这个似乎也可以,没这样干过。
    connect -> send -> recv -> listen -> accept