Hello world/Web server: Difference between revisions

J draft
m (→‎{{header|C#}}: minor corrections)
(J draft)
Line 191:
}
}</lang>
=={{header|J}}==
 
If the desire is to use the browser as a gui, the easiest thing to do would be to download j7, edit the jhs script to start on port 8080, start jhs, visit http://127.0.0.1:8080/jijx then enter the text:
 
<lang j>'Goodbye, World!'</lang>
 
This will compute the desired result and display it (actually, it will be displayed twice since the original string will also be displayed). This would be even simpler if you could just use the default jhs port (65001)... Alternatively, a jhs form could be used (but this would not have the exact url structure specified).
 
However, if the desire is to implement the task exactly, any of approaches at [[j:JWebServer]] might be used.
 
For example, here is a web server which ignores the client's response and always returns Goodbye, Worl:
 
<lang j>hello=: verb define
8080 webserver0 y. NB. try to use port 8080 by default
:
port=: x.
require 'socket'
coinsert 'jsocket'
sdclose ; sdcheck sdgetsockets ''
server=: {. ; sdcheck sdsocket ''
sdcheck sdbind server; AF_INET; ''; port
sdcheck sdlisten server, 1
while. 1 do.
while.
server e. ready=: >{. sdcheck sdselect (sdcheck sdgetsockets ''),'';'';<1e3
do.
sdcheck sdaccept server
end.
for_socket. ready do.
request=: ; sdcheck sdrecv socket, 65536 0
sdcheck (socket responseFor request) sdsend socket, 0
sdcheck sdclose socket
end.
end.
)
 
responseFor=: dyad define
'HTTP/1.0 200 OK',CRLF,'Content-Type: text/plain',CRLF,CRLF,'Goodbye, World!',CRLF
)</lang>
 
To deploy this server, once it has been defined, run
 
<lang j>hello''</lang>
 
 
=={{header|Java}}==
Multiple requests will be served in the order that they reach the server, with a queue size limit of 50 waiting requests imposed by default in the <code>ServerSocket</code> class (may be changed by adding a second positive integer argument to the <code>ServerSocket</code> constructor).
6,962

edits