Open shift had some odd rules on port numbering for sockets. You name it one thing, refer to it as something else....
I think you want port 8080 for server, let client find its own port.
Note: I've only used sockets at Open Shift via node.js I remember pulling my hair out on port #'s. ...here is my code:
self.ipaddress = process.env.OPENSHIFT_NODEJS_IP;
self.port = process.env.OPENSHIFT_NODEJS_PORT || 8080;
I don't know exactly whats at those two variable names..
You may want to check out this link.
Update: I've been working on reproducing the issue, all to no avail. First I'm trying to reproduce the tutorial on my localhost (win7 desktop) but I'm not making much progress. I am using Java JDK 1.8.0_65, and with that is wildfly-8.2.1.Final... I can get the server to display at http://localhost:8080/ (with wildfly splash screen) but I can not get the http://localhost:8080/chat/ to function at all (404 - Not Found). So, I'm not of much help... yet.
Bingo... I had to change the url in the browser client to http://localhost:8080/websocket-chat/
so now I am functional on desktop local host. I will push to OpenShift tomorrow.
So I've been attempting to duplicate your push to OpenShift. I'm now understanding your pom.xml issues. The real problem is you can't FTP files to OpenShift, you have to push them via git. That library javee7-libraries is huge, and the pom.xml files are very intertwined. No way you'd want to push the entire library to openshift, and there is no simple way to integrate the POM files to simplicity (I've tried!) I keep getting maven errors.
The tutorial is sort of a hack.. he generates the war files inside the javee7 library (and avoiding all the POM dependency difficulty), then copies them back to a virgin chat component directory. Then he deletes nearly everything in the chat component directory, including the source code, then pushes the war files thru git to openshift. Ugh. Note: I'm doing all of this via atom.io and command line.
What you are trying to do makes a lot more sense to me, but I'm unable to figure out the correct pom.xml for the standalone chat directory to avoid maven errors.
I've been working on this most of the day. Here's what I learned.
- I was able to get the sample to work fine on my local host.
- Your pom.xml (which came with the cartridge "WildFly Application Server 8.2.1.Final" is absolutely correct, less testing files.
- You have to generate the .war file with the command '$ mvn -f pom.xml package -Popenshift`
- In order to push the .war file up to the OpenShift server via git, you have to modify the .gitignore file so it recognizes .war files (duh.)
- I played around a whole lot with different port #s, and ws:// codes
- When all that is done, I'm still getting the same output as you. I get a connection, and when I try to send text, I get a JS error with an immediate disconnect.
- rhc tools are a total pain on windows machine. In fact I could never get that to work at all.
- When I look closely at the code, the socket stuff is simple JS implementation of sockets via html5. My suspicion is that version isn't all that robust. I'd much rather see a dedicated JS socket library like sock.js The other note is, with the html5 version we have no control to tell the server which port to host the sockets on. The only code we can control is the client side code, and that's not really what we want.
- The only way to test that is use the library update the javascript code and move this along.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…