关于socket的问题
本段代码是将content字符串内容传到服务器,等待服务器响应并将服务器传回的字符串返回,不明白为什么执行sclient.recv(recvBuf,Len(recvBuf),0)这句的时候就一直阻塞,停止响应了,如果ulParam=1则直接返回空值,服务器也没收到任何数据。代码如下:
string result=''
socketstream sclient
sclient = create socketstream
ulong ulParam = 0
sclient.ioctlsocket(ws.FIONBIO, ulParam)
ulong ulAddr
ulAddr = ws.inet_addr(address)
if sclient.wsconnect(ulAddr,integer(port)) <> -1 then
blob buf
blob recvBuf
buf = blob(content)
recvBuf = blob(space(256))
sclient.send(buf,Len(buf),0)
do while sclient.recv(recvBuf,Len(recvBuf),0) <> -1
result = result + trim(string(recvBuf))
loop
result = result + trim(string(recvBuf))
sclient.closesocket()
destroy sclient
end if
return result