QB64 Phoenix Edition
Linux: terminal output - Printable Version

+- QB64 Phoenix Edition (https://qb64phoenix.com/forum)
+-- Forum: Chatting and Socializing (https://qb64phoenix.com/forum/forumdisplay.php?fid=11)
+--- Forum: General Discussion (https://qb64phoenix.com/forum/forumdisplay.php?fid=2)
+--- Thread: Linux: terminal output (/showthread.php?tid=3719)



Linux: terminal output - Parkland - 05-31-2025

Hi,
Another obscene question boys Smile 

I got a few remote orange pi boards running qb64pe main programs, some c programs as SPI and I2C 'drivers' of sorts feeding data back and forth through pipes, to qb64pe.
Theres a networking aspect to this whole setup, and I realized I can't get the computer name into qb64 automatically.

Does anyone know if theres a way to get it before I try to change the system terminal output to a pipe and use qb64 to interface the system terminal? Huh


RE: Linux: terminal output - Parkland - 05-31-2025

well pardon myself,

it looks like theres a file, '/etc/hostname' that has what I was looking for.

I'll leave this and not erase in case some other dumb person like myself needs it


RE: Linux: terminal output - Parkland - 05-31-2025

I figured I'd put my code, as irrelevant or silly some think it is, in case someone else is fighting...
(use whatever for ports, I just picked a random one)

This is the client end:




'dummy program to connect to server
cname$ = "bench-a" ' replace string with server computer name, 'bench-a' was mine
keeptrying:
desip$ = "TCP/IP:50064:" + cname$
Print "Trying to connect to "; desip$; "..."
ch = _OpenClient(desip$)
_Delay 1
If ch <> 0 Then GoTo answer
GoTo keeptrying

answer:
Print "Connected, file number:"; ch

And this is the server waiting for incoming connection:


'just a dummy program to act as a server

' get this computers name from hostname file
Open "/etc/hostname" For Input As #1
Input #1, hostname$
Close #1
Print "This computer to connect to: "; hostname$

serverport$ = "TCP/IP:50064"
servername& = _OpenHost(serverport$)

hangout:
_Delay 1
If InKey$ > "" Then End
Print "Waiting..."
n& = _OpenConnection(servername&)
If n& = 0 Then GoTo hangout
Print "Connected-";
Print _ConnectionAddress(n&)
Print "filenumber:"; n&


RE: Linux: terminal output - tantalus - 05-31-2025

As an alternative using Linux libc function gethostname...

Code: (Select All)

DECLARE LIBRARY
    FUNCTION gethostname% (name AS STRING, BYVAL len AS _UNSIGNED LONG)
END DECLARE

DIM hostname AS STRING * 1024
IF gethostname(hostname, 1024) = 0 THEN
    PRINT hostname
END IF