这两天摸索了一下TCP和UDP,后续文章将附上UDP小程序,TCP客户端及服务器端程序,还有单独的客户端程序。
搞了半天才弄清楚TCPClient与TCPListener
二者都位于System.Net.Sockets命名空间中
TCPClient用于客户端打,当TCPClient对象与服务器建立连接(connect)后,就相当于客户端与服务器建立了一个通道,通过这个通道客户端与服务器可以进行数据的交互
而TCPListener用于服务器端,用于监听客户端的连接,如果有未连接请求,则接受客户端请求,通过AcceptSocket()返回一个Socket对象或者AcceptTcpClient()返回一个TcpClient对象,再通过这些对象可以与客户端进行数据的交互
其实,服务器端也不一定要用TCPListener。TCPClient与TCPListener都是基于Socket进行封装的,直接用Socket也可以进行监听等等。
在TCP通信过程中,无论客户端还是服务器,如果数据交互频繁时,为了避免界面出现“假死”,就得用多线程。