网络编程-tcp socket编程

一.网络编程基本介绍

     Golang的主要设计目标之一就是面向大规模后端服务程序,网络通信这块是服务端程序必不可少也是至关重要的一部分。 

网络编程有两种:

1.TCP socket编程:是网络编程的主流。之所以叫TCP socket编程,是以为底层是基于TCP/IP协议的。

2.b/s结构的HTTP编程,我们使用浏览器去访问服务器时,使用的就是http协议,而HTTP底层依旧是用tcp socket实现的 (属于go web开发范畴)

协议(TCP/IP)

     TCP/IP协议,称为传输控制协议/因特网互联协议,又叫网络通讯协议,这个协议是internet最基本的协议、internet国际互联网络的基础,就是由网络传的IP协议和传输层的TCP协议组成的。

                                      

 IP地址

     每个internet上的主机和路由器都有一个IP地址,它包括网络号和主机号,IP地址有ipv4(32位)或者ipv6(128位),可以通过ipconfig来看。

端口

我们这里所指的端口不是指物理上的端口,而是特指TCP/IP协议中的端口,是逻辑意义上的端口。

如果把IP地址比作一间房子,端口就是出入这间房子的门。真正的房子只有几个门,但是一个ip地址的端口可以有65536(256×256)个之多,端口是通过端口号来标记的,端口号只有整数,范围是从0到65535(256×256-1)

端口分类(port)-分类

1.0号是保留端口

2.1-1024是固定端口,又叫有名端口,即被某些程序固定使用,一般程序员不使用。

    22:SSH远程登录协议 23:tenIet使用 21:ftp使用

    25:smtp服务使用  80:iis使用  7:echo服务

3.1025-65535是动态端口

    这些端口,程序员可以使用。

    

端口(port)-使用注意

1.在计算机(尤其是做服务器)要尽可能的少开端口

2.一个端口只能被一个程序监听

3.如果使用netstat -an可以查看本机有哪些端口在监听

4.可以使用netstat -anb来查看监听端口的pid,在结合任务管理器关闭不安全的端口。

tcp socket编程的快速入门

服务端的处理流程

1.监听端口

2.接收客户端的tcp连接,建立客户端和服务器端的链接。

3.创建goroutine,处理该链接的请求(通常客户端会通过链接发送请求包)

客户端的处理流程

1.建立与服务端的链接

2.发送请求数据[终端],接收服务器端返回的结果数据

3.关闭链接

案例

客户端功能:

1.编写一个客户端程序,能连接到服务器端的8888端口

2.客户端可以发送单行数据,然后就退出

3.能通过终端输入数据(输入一行发送一行),并发送给服务器端

4.在终端输入exit表示退出程序。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老实憨厚的腾锅锅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值