TcpClient和TCPListener实列化时, 是否就绑定了端口?如何直接访问代表这个端口的终结点

TcpClient和TCPListener实列化时, 是否就绑定了端口?怎么直接访问代表这个端口的终结点?
TcpClient和TCPListener实列化时可以用终结点实列,那是不是实例成功就代表绑定上了呢?
我在一个方法中创建的并连接好了。我在另一个方法中(想的是专门处理流)怎么访问这个终结点呢?
------解决思路----------------------
初始化一个服务端对象,通常可以写
var server = new TcpListener(IPAddress.Any, 9120);
这类绑定了端口的写法,因为它需要被动监听握手信息。

而初始化一个客户端对象,需要写
    var client = new TcpClient("118.110.110.10", 9120);
    var stream = client.GetStream();

这种,这时候的终结点是指服务器握手地址,而不是什么“本地绑定”。客户端随机地使用一个最事宜的端口用来发送信息、接受服务器的返回值。不需要你去绑定什么端口。

------解决思路----------------------
服务器
//服务器启动侦听
            IPEndPoint localep = new IPEndPoint(IPAddress.Any, 9099);
            listener = new TcpListener(localep);
            listener.Start(10);//最大队列数

客户端

               Socket client = new Socket(af, SocketType.Stream, ProtocolType.Tcp);
            if (!client.Connected)
            {
                IPEndPoint remoteep = new IPEndPoint(IPAddress.Parse(“192.168.1.1"), 9099);
                AsyncCallback callback = new AsyncCallback(ConnectCallback);

                //启动新的连接
                client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                client.BeginConnect(remoteep, ConnectCallback, client);
            }


网上找个例子,先看一下套接字编程的基础知识