E/flutter (5985):[错误:flutter/lib/ui/ui_dart_state.cc(177)] 未处理的异常:SocketException:操作系统错误:连接超时,errno = 110,地址 = 10.153.192.23,端口 = 42423
答案 0 :(得分:0)
通常该错误意味着套接字端口被防火墙关闭,或者该端口上没有可以接受您的连接的侦听器。你能发布一些发生异常的代码吗?也许只是错误的端口。 (即互联网上的每个套接字连接都基于 IP 地址和端口,端口是标识服务正在侦听位置的数字)
答案 1 :(得分:0)
// this is the function which send a json packet to endpoint service.
Future<http.Response> _sendItalPostePacket(UploadBarcodeData data){
developer.log("UploadManager: _sendItalPostePacket");
developer.log("UploadManager: ${data.dump()}");
developer.log("UploadManager: ${jsonEncode(data.toJson())}");
String item='['+jsonEncode(data.toJson())+']';// here i add brackets because the server aspect list of strings ot only one.
return http.post(
endpoint,//** here is the URL of service endpoint**
headers: <String, String>{
'Content-Type': 'application/json; charset=UTF-8',
},
body:item, // here is the JSON
);
}
// this class provide the function toJson to encode all class items in a json string
class UploadBarcodeData
{
int ID ; //progressivo nella sincronizzazione
String IDGruppo ; //identificativo del gruppo di poste
String Codice ; //codice letto
String DataLettura ; //data in cui è stata effettuata la lettura
double LatX ; //latitudine (obbligatoria)
double LatY ; //longitudine (obbligatoria)
String IdEsito ; //identificativo del tipo di esitazione registrata
bool IsSync ; //booleano che indica se sincronizzione ok
String Image ; //stringa che contiene il base64 dell'immagine
Position position;
UploadBarcodeData({this.Codice,this.DataLettura,this.position}){
ID=1;
IDGruppo = "cfb5b2de-c967-4d3f-b688-c6a15de15daa";
IdEsito = "f4256e8c-cfca-49ee-bb60-a52a5f0ab2a3";
Image="";
IsSync=false;
LatX=position.latitude;
LatY=position.longitude;
}
@override
void initState() {
}
Map<String,dynamic> toJson()=>{
'ID':ID,
'IDGruppo':IDGruppo,
'Codice':Codice,
'DataLettura':DataLettura,
'LatX':LatX,
'LatY':LatY,
'IdEsito':IdEsito,
'IsSync':IsSync,
'Image':Image,
};
toString(){
return Codice;
}
@override
String dump(){
developer.log("UploadBarcodeData: ${toJson().toString()}");
return toJson().toString();
}
}