- Community Home
- >
- Servers and Operating Systems
- >
- Operating Systems
- >
- Operating System - OpenVMS
- >
- Re: Hand off a connected socket connection to anot...
Categories
Company
Local Language
Forums
Discussions
Forums
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
Discussions
Discussions
Discussions
Forums
Discussions
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Community
Resources
Forums
Blogs
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-24-2015 12:35 AM
04-24-2015 12:35 AM
Hand off a connected socket connection to another process
Hi Folks,
How easy would it be to write a program which would accept an inbound TCP/IP connection and hand that connection off to another process to deal with?
I know I could create a TCPIP service to do thi but some system restrictions mean it may be required to do this ourselves.
Regards
Brian Reiter
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-24-2015 01:11 AM
04-24-2015 01:11 AM
Re: Hand off a connected socket connection to another process
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-24-2015 08:04 AM
04-24-2015 08:04 AM
Re: Hand off a connected socket connection to another process
Have a look at Apache or WASD, for how those deal with server process pools.
I and others have asked for that hand-off API but — AFAIK — there is no supported means for performing that hand-off. (While there are undocumented means — no, I don't have a link for those, and haven't seen any undocumentation — I'm not inclined to use those in general, and particularly not now given that VSI is reportedly replacing the IP stack with something else in an upcoming OpenVMS release.)
Things here get more interesting when handing off an encrypted connection, too — that's not something I've encountered on OpenVMS.
On OpenVMS, using inetd is the usual approach, starting up the receiver as necessary.
Something like http://gearman.org would be handy, but I've not seen that ported to OpenVMS.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-01-2015 12:39 AM
05-01-2015 12:39 AM
Re: Hand off a connected socket connection to another process
The solution was relatively easy.
Set the listen socket to shareable and then when the client connects grab the unit number (LIB$GETDVI) and pass that to the newly created client process. The client process can then generated the appropriate device name (BG<unit>) and assign to that.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-01-2015 03:04 PM
05-01-2015 03:04 PM
Re: Hand off a connected socket connection to another process
@Brian Reiter wrote:The solution was relatively easy.
Set the listen socket to shareable and then when the client connects grab the unit number (LIB$GETDVI) and pass that to the newly created client process. The client process can then generated the appropriate device name (BG<unit>) and assign to that.
FWIW, if that's all you're doing, use inetd (OpenVMS calls it the "auxillary server"), as that's what inetd provides...