tcp socket 编程是基于tcp/ip协议的编程 比如qq
基于B/S 的http协议编程
应用层
传输层tcp
ip层
链路层
端口:
只要做服务程序,都必须要监听一个端口 而且一个端口只能被一个服务监听 使用netstat -an 或者是netstat -anb
该端口就是其他程序和该服务通讯的通道
把ip地址比作一个房间 端口就是出入这个房间的门 而端口是用端口号来标记
一台电脑有65535个端口 0号是保留端口 1-1024是固定端口又叫有名端口即被某些程序固定使用,一般程序员不能使用
比如 ssh 22 ftp 21 telnet 23 smtp 25 iis 80 echo 7
1025-65535是动态端口程序员可以使用 尽量使用40000以上的
一旦一个端口被某个程序使用了 就不能再该端口监听了,客户端的端口是随意的
端口使用注意:
在计算机做服务 要尽可能的少开端口
一个端口只能被一个服务监听 而且服务都要监听一个端口
net 包提供了可移植的网络i/0接口 包括tcp/udp 域名解析和unix域名socket
大部分使用listen accept dial
func listen(net,addr string) "tcp" "udp"