10.计算机网络之socket

1.socket编程(套接字)

	1.抓包 libPcap
	2.应用编程接口 api:系统调用接口
	3.技术 unix socket  winsock  tli
	4.服务器进程之间可以通信,那客户与服务器哪个socket通信?
	   需要ip地址和对应主机的传输层协议的端口号,可以明确指定
	   那个通信
	5.操作系统管理socket是用套接字描述符

2.地址结构 sockaddr_in

  struct sockaddr_in{
       u_char sin_len,长度,地址族,端口号,ip地址,没有使用
   }

3.函数

   wsastartup();//开始
   socket(protofamily,type,proto)//创建套接字
       protofamily协议名
       type套接字类型 sock_strem(对应tcp) sock_DGRAM(对应UDP)
                                sock_raw(对应直接面向网络层,需要系统权限)  
       proto:哪种协议0是默认协议号
    closesocket(socket sd)//关闭连接,如果有多个进程使用,引用次数-1
    bind(sd,loacaladdr,addrlen)//绑定地址信息 
       描述符;本地地址;地址长度
       服务器该绑定哪个用户的?,  用地址通配符 INADDR_ANY
       哪个网络服务ip都可以
     listen(sd,queuesize);//只用于服务器,缓存队列的大小
     //成功1,失败0 
     connect(sd,saddr,saddrlen);//仅用于客户端
    //可用tcp客户端,也可以用udp客户端
    //使用udp,只是指定服务器端点地址
    accept(sd,caddr,caddrlen);//仅用于tcp和服务器,是个阻塞的请求,等
    //会创建新建的套接字,开另外一个tcp,就可以为多个客户服务了
   send(sd,*buf,len,flags);//客户端和服务器都可以,已连接
   sendto//没有连接的,upd,tcp
   recv //接收数据
   recvform//没有连接接收数据,客户端
   setsockopt//设置socket的参数
   getsockopt
   WSACleanup();//关闭连接

3.网络字节顺序

4.没有设置那端口号为80

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值