Try using String ans = Util.readToString(); which might be better. Is the code still working on the simulator after the changes? Is it working on Android?
On Wednesday, March 10, 2021 at 5:09:18 PM UTC+2 [email protected] wrote: > Replacing flush() with close() didn't make a difference. Here's the code I > used without the buffer: > > os = link.getOutputStream(); > os.write((nemail + "\n").getBytes()); > pwHash = getHash(nemail + npasswd); > os.write((pwHash + "\n").getBytes()); > os.close(); > > is = link.getInputStream(); > String ans = readLine(is); > > static String readLine(InputStream stream) { > byte[] b = new byte[80]; > String s = ""; > int i = 0; > try { > b[i] = (byte) stream.read(); > while((b[i] != 10 && (b[i] != 13))) { > i++; > b[i] = (byte) stream.read(); > } > b[i] = 0; > return new String(b,0,i); > } catch(IOException e) { > Log.e(e); > return null: > } > } > On Tuesday, March 9, 2021 at 10:23:18 PM UTC-5 Shai Almog wrote: > >> Can you include the full code after removing the buffers? >> Also try replacing flush() with close(). That might help. >> >> On Tuesday, March 9, 2021 at 3:31:25 PM UTC+2 [email protected] wrote: >> >>> I'm able to access all the websites on that IP from the device. I also >>> tried accessing the reply from the server without the BufferedInputStream >>> with no luck. >>> >>> The certificate I used was one I bought from bluehost.com who hosts my >>> server. >>> >>> On Monday, March 8, 2021 at 9:51:04 PM UTC-5 Shai Almog wrote: >>> >>>> With valid (not self signed) certificate? >>>> Is it a publicly visible IP accessible from the device? >>>> >>>> On Monday, March 8, 2021 at 8:35:52 PM UTC+2 [email protected] wrote: >>>> >>>>> Yes, the site is https. To make sure, I tested it using the Qualys ssl >>>>> checker and I access it with the https:// prefix. >>>>> >>>>> --Dennis >>>>> On Sunday, March 7, 2021 at 9:42:05 PM UTC-5 Shai Almog wrote: >>>>> >>>>>> I meant the Rest class. >>>>>> >>>>>> Sorry I neglected to ask something basic. Is the URL HTTPS? >>>>>> If not iOS will fail by default. You can use this as a workaround: >>>>>> https://www.codenameone.com/blog/ios-http-urls.html >>>>>> On Sunday, March 7, 2021 at 7:13:46 PM UTC+2 [email protected] wrote: >>>>>> >>>>>>> Yes I'm using codename1.io.URL. >>>>>>> >>>>>>> On Sunday, March 7, 2021 at 11:46:23 AM UTC-5 Dennis Rogers wrote: >>>>>>> >>>>>>>> Sorry but I'm still having problems. I tried using unbuffered IO >>>>>>>> but with the same result (works on the simulator but not on the >>>>>>>> device). >>>>>>>> Also the code I sent you was followed by: >>>>>>>> >>>>>>>> // Get buffered Input stream >>>>>>>> >>>>>>>> is = link.getInputStream(); >>>>>>>> BufferedInputStream binp = new BufferedInputStream(is); >>>>>>>> // Get reply >>>>>>>> String ans = readLine(binp); >>>>>>>> >>>>>>>> which I think would qualify as asking for a response from the >>>>>>>> server. BTW this is all being done on a separate thread. >>>>>>>> >>>>>>>> I'm learning about the REST protocol but think this should work. >>>>>>>> >>>>>>>> -Dennis >>>>>>>> On Saturday, March 6, 2021 at 9:32:02 PM UTC-5 Shai Almog wrote: >>>>>>>> >>>>>>>>> Are you using com.codenameone.io.URL ? >>>>>>>>> I would recommend avoiding BufferedOutputStream in Codename One as >>>>>>>>> all streams are buffered by default in Codename One. >>>>>>>>> You also need to fetch the result for the request to finish. It >>>>>>>>> won't happen until you try to get a response from the server. >>>>>>>>> >>>>>>>>> I would recommend using APIs like the "Rest" API which is simpler >>>>>>>>> to use and doesn't require threading. >>>>>>>>> >>>>>>>>> On Saturday, March 6, 2021 at 11:24:53 PM UTC+2 [email protected] >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>>> I have the following code that I use to send an email and >>>>>>>>>> password to my server. It works fine on the simulator but fails on >>>>>>>>>> an >>>>>>>>>> actual iphone (I receive a blank email and password): >>>>>>>>>> >>>>>>>>>> try { >>>>>>>>>> URL url = new URL(*"server address"*); >>>>>>>>>> link = url.openConnection(); >>>>>>>>>> link.setDoOutput(true); >>>>>>>>>> link.setDoInput(true); >>>>>>>>>> } catch(URISyntaxException e) { >>>>>>>>>> Log.p("URL error"); >>>>>>>>>> Log.e(e); >>>>>>>>>> } >>>>>>>>>> // Get buffered output stream >>>>>>>>>> os = link.getOutputStream(); >>>>>>>>>> BufferedOutputStream bout = new BufferedOutputStream(os); >>>>>>>>>> // Send email and hashed Password >>>>>>>>>> bout.write((nemail + "\n").getBytes()); >>>>>>>>>> pwHash = getHash(nemail + npasswd); >>>>>>>>>> bout.write((pwHash + "\n").getBytes()); >>>>>>>>>> bout.flush(); >>>>>>>>>> >>>>>>>>>> Thanks, Dennis >>>>>>>>>> >>>>>>>>> -- You received this message because you are subscribed to the Google Groups "CodenameOne Discussions" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/codenameone-discussions/8f97003f-7949-4b0c-8d1e-bbc986457a76n%40googlegroups.com.
