|
|

Member
Total posts: 18
Joined: Mar 28, 2017
|
Hey guys,
I am relatively new to the whole chatbots thing, but so far I have been able to install ChatScript on an EC2 instance. but when I run this command:
./LinuxChatScript64 client=localhost:1024
and runs as expected as it initiates a normal chatbot simulation in the ssh session.
However when I try it from a web browser it simply doesnt work!
I am using the Amazon AMI and also it doesn’t seem to let me add the cronjob as well.
What could I be doing wrong?
|
|
|
|
|
Posted: Mar 29, 2017 |
[ # 1 ]
|
|


Experienced member
Total posts: 62
Joined: Jan 24, 2016
|
Hi Timothy
to run the cs-server from command line:
./LinuxChatScript64 port=1024
to run the client “tester” (from command line):
./LinuxChatScript64 client=localhost:1024
Now,
what you mean with “when try it from a web browser” ?
giorgio
|
|
|
|
|
Posted: Mar 30, 2017 |
[ # 2 ]
|
|

Member
Total posts: 18
Joined: Mar 28, 2017
|
What I meant from a web browser is when I type my server’s DNS into the url bar, it loads the chat page as expected but does not load the bot when I fill out my username and message fields and sending it.
|
|
|
|
|
Posted: Mar 30, 2017 |
[ # 3 ]
|
|


Experienced member
Total posts: 62
Joined: Jan 24, 2016
|
still not clear to me :-(
with “my server” do you mean a web frontend server ?
You have to implement in backend a tcp client that dialogate with ChatScript server.
.————————.
| web server |
.————————.
|
v
.—————————.
| CS TCP client |
.—————————-.
|
v
.———————————-.
| CS engine server |
.———————————-.
|
|
|
|
|
Posted: Mar 31, 2017 |
[ # 4 ]
|
|

Member
Total posts: 18
Joined: Mar 28, 2017
|
Well I think it would be easier for me to show you what I mean.
Here is the link for the CS on the EC2 instance: ec2-13-55-23-160.ap-southeast-2.compute.amazonaws.com
However now that you have pointed that out to me I have a feeling that I have not set up the CS TCP client properly.
|
|
|
|
|
Posted: Mar 31, 2017 |
[ # 5 ]
|
|


Experienced member
Total posts: 62
Joined: Jan 24, 2016
|
> However now that you have pointed that out to me I have a feeling that I have not set up the CS TCP client properly.
I think so. I feel it depends on ui.php PHP script (the CS-client) you call here:
function sendMessage(data){ //Sends inputs to the ChatScript server, and returns the response- data - a JSON string of input information $.ajax({ url: 'ui.php', dataType: 'text', data: data, type: 'post', success: function(response){ processResponse(parseCommands(response)); }, error: function(xhr, status, error){ alert('oops? Status = ' + status + ', error message = ' + error + "\nResponse = " + xhr.responseText); } }); }
As an example of a client you can see my draft code (in Ruby) here:
https://github.com/solyaris/rChatScript/
In particular, take a look at the volley method:
https://github.com/solyaris/rChatScript/blob/master/chatscript/lib/chatscript.rb#L82
BTW, CS wiki documentation:
https://github.com/bwilcox-1234/ChatScript/blob/master/WIKI/CLIENTS-AND-SERVERS/ChatScript-ClientServer-Manual.md
|
|
|
|
|
Posted: Apr 1, 2017 |
[ # 6 ]
|
|

Member
Total posts: 18
Joined: Mar 28, 2017
|
Giorgio thank you for your responses so far, but I would like to ask a couple more questions as I am still a ChatScript newbie.
I had a look at the links that you posted earlier but I am still a little lost when it comes to installing it on my EC2 instance.
Does this get installed inside the existing ChatScript directory or on the instance alone?
|
|
|
|
|
Posted: Apr 1, 2017 |
[ # 7 ]
|
|


Experienced member
Total posts: 62
Joined: Jan 24, 2016
|
Timothy, if you talking about the CS-client (I presume ui.php), you have to install it where it’s able to reach the CS-server, so maybe (but not necessarly) in the same place you installed the CS-server (the EC instance).
May you share the PHP code (chunk of) ?
|
|
|
|
|
Posted: Apr 2, 2017 |
[ # 8 ]
|
|

Member
Total posts: 18
Joined: Mar 28, 2017
|
Hi Giorgio,
This is what the code looks like in ui.php file right now (the one that I had found in the WEBINTERFACE/BETTER folder)
If this is not it, should I install the client in the WEBINTERFACE folder as well?
GNU nano 2.5.3 File: ui.php
*/
// ============= user values ==== $host = "192.168.0.1"; // <<<<<<<<<<<<<<<<< YOUR CHATSCRIPT SERVER IP ADDRESS OR HOST-NAME GOES HERE $port = 1024; // <<<<<<< your port number if different from 1024 $bot = "Harry"; // <<<<<<< desired botname, or "" for default bot //=========================
// Please do not change anything below this line. $null = "\x00"; $postVars = filter_input_array(INPUT_POST, FILTER_SANITIZE_STRING); extract($postVars);
if (isset($send)) { // open client connection to TCP server $userip = ($_SERVER['X_FORWARDED_FOR']) ? $_SERVER['X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR']; // get actual ip address of user as his id
$msg = $userip.$null.$bot.$null.$message.$null;
// fifth parameter in fsockopen is timeout in seconds if(!$fp=fsockopen($host,$port,$errstr,$errno,300)) { trigger_error('Error opening socket',E_USER_ERROR); }
// write message to socket server fputs($fp,$msg); while (!feof($fp)) { $ret .= fgets($fp, 512); }
// close socket connection fclose($fp); exit($ret); }
|
|
|
|
|
Posted: Apr 2, 2017 |
[ # 9 ]
|
|


Experienced member
Total posts: 62
Joined: Jan 24, 2016
|
i’m not a PHP developer, but this css-client script you quoted seems ok for me.
Please verify if
$host = “192.168.0.1”;
is correct (= is the IP address where CS engine reside).
Maybe you can check is the server is reachable (from teh PHP script) with cli command nc (and giving three null character: ^@^@^@):
$ nc CS_SERVER_IP_ADDRESS 1024 ^@^@^@
If your PHP script is located in the same host where is the cs-engine you can maybe say “localhost”:
$host = “127.0.0.1”;
I hope this help
|
|
|
|
|
Posted: Apr 3, 2017 |
[ # 10 ]
|
|

Member
Total posts: 18
Joined: Mar 28, 2017
|
Ok just ran that command that you told me about and I ran it a number of times just to verify.
This is along the lines of what I got when I ran that command.
nc: server timeout (1024)
What can I do to resolve this and where else could I go as I am beginning to feel that this is more of a networking issue.
|
|
|
|
|
Posted: Apr 3, 2017 |
[ # 11 ]
|
|


Experienced member
Total posts: 62
Joined: Jan 24, 2016
|
yes Timothy, seems that server IP isn’t reachable from client, or you specify the wrong server address. If both client and server are in the same host, try: nc localhost 1024
|
|
|
|
|
Posted: Apr 4, 2017 |
[ # 12 ]
|
|

Member
Total posts: 18
Joined: Mar 28, 2017
|
Giorgio, I tried running both commands again and got this as the response to the first one that you told me to do:
nc: connect to 13.55.23.160 port 1024 (tcp) failed: Connection timed out
When I tried the second command that you said, won’t even process and just go to a new line.
|
|
|
|
|
Posted: Apr 4, 2017 |
[ # 13 ]
|
|


Experienced member
Total posts: 62
Joined: Jan 24, 2016
|
it seems that you can’t reach the server address (from the client), or the server process is down.
1. try just to ping the host where cs-server is running:
$ ping 13.55.23.160
if you are able to ping the server, so:
2. verify that your cs-server is really up&running;, listening at port 1024
$ nmap 13.55.23.160
if your cs engine is alive you will see something like:
Starting Nmap 6.40 ( http://nmap.org ) at 2017-04-04 07:01 CEST
Nmap scan report for ...............
Host is up (0.0000060s latency).
Not shown: 998 closed ports
PORT STATE SERVICE
22/tcp open ssh
...
1024/tcp open kdm
...
BTW, generally speaking, for security reasons…, i’ts better that you do NOT publish (in forums, etc.) you public IP addresses/ports pair.
|
|
|
|
|
Posted: Apr 4, 2017 |
[ # 14 ]
|
|

Member
Total posts: 18
Joined: Mar 28, 2017
|
About posting the IP adress that was a mistake on my part and won’t happen in future.
I tried pinging the server address and it timed out on every attempt, what could be the cause I hightly doubt that this is a contributing factor but I am using the Amazon AMI and I was thinking that this could be handling network traffic differently when compared with any other OS?
Is there anything that I should do/review anything that is on the AWS control panel?
Also have there been any differences when running ChatScript on Ubuntu compared to Amazon AMI?
|
|
|
|
|
Posted: Apr 4, 2017 |
[ # 15 ]
|
|


Experienced member
Total posts: 62
Joined: Jan 24, 2016
|
> About posting the IP adress that was a mistake on my part and won’t happen in future.
it’s just a general suggestion not a real issue.
I’m not practice with Amazom AWS and I’m not a big fan of (Amazon) cloud, sorry.
My suggestion is to test your fullstack web+client+server on your local (linux) host, in that case:
to check is cs-engine respond:
$ nc 127.0.0.1 1024
^@^@^@
$
where ^@ means CTRL-SPACE
to send a message from user giorgio to the default running bot:
$ nc 127.0.0.1 1024
giorgio^@^@hello!^@
What is your first name?
$
|
|
|
|