看看代碼中的這條語句。
[self . out socket read datatodata:[async socket CRLFData]with time out:-1 tag:0];
參數[AsyncSocket CRLFData]表示讀取到" \r\n "
檢查妳的C#服務器在返回數據時是否在末尾追加了“\r\n”,如果沒有,則添加,否則didReadData永遠不會執行。
另外,在使用開源三方庫之前,好好看看文檔,如果沒有,看看頭文件。大部分標準化的開源代碼都會在頭文件中添加描述,這樣就非常清楚了。
/**
*讀取字節,直到(包括)傳遞的“數據”參數,該參數充當分隔符。
*
*如果超時值為負,讀取操作將不使用超時。
*
*如果您將nil或零長度數據作為“數據”參數傳遞,
*該方法將不執行任何操作,並且不會調用委托。
*
*要從套接字讀取壹行,請使用行分隔符(如HTTP的CRLF,見下文)作為“數據”參數。
*請註意,此方法不支持字符集,因此如果分隔符可以作為
*壹個字符,讀取將提前結束。
**/
-(void)readDataToData:(ns data *)data with time out:(NSTimeInterval)time out標簽:(long)標簽;