I switched to using Util.readToString() and still no joy on the iphone 
device.
The code still works ok on the simulator and on also on a real Android 
device.

On Wednesday, March 10, 2021 at 10:28:42 PM UTC-5 Shai Almog wrote:

> 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/0b1557fc-62e7-436d-a1ba-1dcb6cc4f8den%40googlegroups.com.

Reply via email to