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 a2nd...@gmail.com 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 a2nd...@gmail.com 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 a2nd...@gmail.com 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 a2nd...@gmail.com 
>>>>>>> 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 a2nd...@gmail.com 
>>>>>>>>>> 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 codenameone-discussions+unsubscr...@googlegroups.com.
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