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.

Reply via email to