Telnet connects to 192.168.0.222 on port 23, but GPAsciiConnect to port 8086 fails from both VB and the sample C# projects. Treat this as a service-endpoint problem first. A working Telnet session proves that the controller is reachable and that port 23 accepts connections; it says nothing about the listener, filtering, or application protocol on port 8086.
Port and endpoint separation
- Record the controller address as
192.168.0.222. - Record the intended PowerPmacServer endpoint as port
8086. - Confirm Telnet separately on port
23. Do not use that result as the acceptance test for port8086. - Test port
8086directly from the same PC running the VB or C# application. Do not move on until the test reports accepted, refused, or timed out.
| Check | Reading | Meaning | Next action |
|---|---|---|---|
| Telnet endpoint | Port 23 accepts |
IP routing and the Telnet service work | Test 8086 independently |
| Server endpoint | Port 8086 accepts |
A process is listening and the TCP path is open | Check protocol, authentication, and client behavior |
| Server endpoint | Connection refused | The target responded, but no listener accepted that port or the stack rejected it | Inspect the controller-side service and listening sockets |
| Server endpoint | Connection timed out | Traffic or its response was dropped along the path | Inspect host firewall, network filtering, interface selection, and routing |
Controller address check
Before anything else, confirm that the application PC is reaching the same controller used for the successful Telnet test. Duplicate addresses, multiple adapters, virtual network interfaces, and stale address-resolution entries can direct two tests along different paths even when both display 192.168.0.222.
- Run the Telnet and port-
8086tests from the same PC and network interface used by the application. - Confirm that the controller identity shown through the working management session matches the intended demo rack.
- Check the local route and active adapter selected for
192.168.0.222. If more than one adapter can reach that subnet, disable the ambiguity or bind the test to the intended interface. - Retest port
8086. If it still refuses or times out, continue with the listener check. If it accepts, skip to the application-session check.
The successful C# and VB failures narrow the fault domain. Two independent clients reaching the same result make VB syntax or language-specific interop less likely; the shared controller endpoint, service state, credentials, and network path remain common.
Port 8086 socket check
Use a TCP connection test or socket inspection tool that reports the outcome for the exact pair 192.168.0.222:8086. A generic reachability test is not enough because it does not verify a listening application socket.
- Test
192.168.0.222:8086from the application PC. - If the result is refused, inspect the controller locally for a listening socket on
8086. No listener directs the investigation to PowerPmacServer startup or configuration. - If the result times out, repeat from a host on the controller's local network segment. Acceptance locally but timeout from the application PC identifies an intervening firewall, filter, or route.
- If the socket accepts, close the raw test connection and run
GPAsciiConnect. TCP acceptance confirms only the transport layer; it does not validate the application handshake or login.
A listening socket must also be bound to an interface reachable from the application PC. A service bound only to a local interface can appear active on the controller while refusing remote clients. Read the controller's socket table to identify both the port and bound address.
PowerPmacServer process check
Inspect the controller through its available local administration interface. Check both process state and socket state; a process name in a task list does not prove that it completed initialization or opened port 8086.
- Find the PowerPmacServer process or its managed service entry.
- Read its state and recent startup diagnostics. Look for termination, repeated restart, address-binding failure, configuration rejection, or dependency failure.
- Inspect the listening-socket table for port
8086. Record the owning process and bound interface. - If PowerPmacServer is stopped, start it through the controller's normal service-management mechanism. If it starts but opens no listener, correct the startup or endpoint configuration indicated by its diagnostics.
- Retest
192.168.0.222:8086remotely. Do not move on until the socket accepts from the application PC.
Do not substitute a successful port-23 login for these checks. Telnet and PowerPmacServer are separate processes with separate listeners, initialization paths, and application protocols. One can remain available while the other is stopped or inaccessible.
Application session check
Once port 8086 accepts TCP connections, compare the smallest possible API call across VB and the supplied C# sample. Keep the address, port, username, password, client architecture, and referenced library version identical between tests.
bIsConnected = objPPMac.GPAsciiConnect("192.168.0.222", 8086, "<user>", "<password>")
- Create a new client object and make one
GPAsciiConnectcall. Capture the returnedbIsConnectedvalue and any exception or library diagnostic. - Enter the same credential pair that succeeds for the intended account, without copying surrounding whitespace. A Telnet login does not by itself prove that the server on
8086uses the same authentication path. - Run the unchanged C# sample against the same endpoint. Failure in both clients after TCP acceptance directs the next check to authentication, application protocol, or client/server compatibility.
- Confirm that the application loads the intended client library and architecture. A stale or mismatched library can fail before or during the protocol handshake even when the socket is open.
- Correlate the client attempt with the server diagnostics. No server-side connection entry indicates that the application did not reach the service; an accepted session followed by rejection identifies handshake or authentication processing.
Recovery and acceptance procedure
- Set the application target to
192.168.0.222and port8086. Confirm that no code path substitutes Telnet port23. - Start or restore PowerPmacServer on the controller. Confirm that its process remains running and owns a listening socket on
8086. - Open the required network path between the application PC and that listener. Confirm that a direct TCP test from the application PC is accepted rather than refused or timed out.
- Run the minimal C# sample with the selected account. Confirm a successful connection before adding application logic.
- Run the equivalent VB call and require
bIsConnectedto report success. If C# passes while VB fails, compare library reference, process architecture, argument types, and exception details. - Close the test session, create a fresh client object, reconnect, and issue a harmless read-only ASCII query supported by the controller configuration. Accept the repair only when the application receives a valid response and the server diagnostics show a normally opened and closed session.
FAQ
Why does Telnet connect while PowerPmacServer fails?
Telnet reaches port 23, while GPAsciiConnect targets port 8086. Each port has a separate listener, network path, and application protocol.
Why does port 8086 report connection refused?
The controller responded, but no reachable listener accepted 8086. Check whether PowerPmacServer is running, owns that socket, and is bound to a remotely reachable interface.
Why do both the VB application and C# sample fail?
The shared failure points first to the controller service, port path, credentials, or client/server handshake rather than VB syntax. Test the TCP endpoint before changing application code.
How do I verify the PowerPmacServer repair?
Require port 8086 to accept from the application PC, require GPAsciiConnect to return success, then reconnect with a new client object and complete a read-only ASCII query with a valid response.