操作步骤:用一个最简单的client、server测试数据传输,client发送数据,server接收数据。
错误提示: transport endpoint is not connected
错误原因: 这个错误往往是在server端提示的,意思是“传输端点没有连上”。
百思不得其解,socket明明连上了啊,怎么说没有连上呢。
又检查了下代码才发现原因:笔误加大脑处于休眠状态写的测试代码.
(以后大脑要是不清醒,宁愿看小说都不写代码了)
server的accept(socketFD,......)返回了一个新的newSocketFD,
我在recv时传的居然不是newSocketFD.而是socketFD值。回头看下那个错误提示:
的确是“传输端点没有连上”。
解决办法: 将recv的第一个参数改成accept返回的newSocketFd值即可。