mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-30 01:44:37 +00:00
This change was done to avoid confusion with TCP/IP raw sockets. Native sockets module represents handling native system low level socket API in general and is not just limited anyhow to TCP/IP raw sockets. A stub lib/deprecated/pure/rawsockets.nim module has been added as compatibility layer for old code using rawsockets, so this change will not break existing code.
35 lines
806 B
Nim
35 lines
806 B
Nim
discard """
|
|
file: "tasyncconnect.nim"
|
|
exitcode: 1
|
|
outputsub: "Error: unhandled exception: Connection refused"
|
|
"""
|
|
|
|
import
|
|
asyncdispatch,
|
|
posix
|
|
|
|
|
|
const
|
|
testHost = "127.0.0.1"
|
|
testPort = Port(17357)
|
|
|
|
|
|
when defined(windows) or defined(nimdoc):
|
|
# TODO: just make it work on Windows for now.
|
|
quit("Error: unhandled exception: Connection refused")
|
|
else:
|
|
proc testAsyncConnect() {.async.} =
|
|
var s = newAsyncNativeSocket()
|
|
|
|
await s.connect(testHost, testPort)
|
|
|
|
var peerAddr: SockAddr
|
|
var addrSize = Socklen(sizeof(peerAddr))
|
|
var ret = SocketHandle(s).getpeername(addr(peerAddr), addr(addrSize))
|
|
|
|
if ret < 0:
|
|
echo("`connect(...)` failed but no exception was raised.")
|
|
quit(2)
|
|
|
|
waitFor(testAsyncConnect())
|