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/71c6406e-c94e-4983-87ea-ca8b1a9075a6n%40googlegroups.com.