美文网首页
socket知识积累01

socket知识积累01

作者: 田心今心九日 | 来源:发表于2018-10-29 17:08 被阅读9次

进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口。

建立Socket连接至少需要一对套接字,其中一个运行于客户端,称为ClientSocket ,另一个运行于服务器端,称为ServerSocket 。

套接字之间的连接过程分为三个步骤:服务器监听,客户端请求,连接确认。

很多情况下,需要服务器端主动向客户端推送数据,保持客户端与服务器数据的实时与同步。此时若双方建立的是Socket连接,服务器就可以直接将数据传送给客户端;若双方建立的是HTTP连接,则服务器需要等到客户端发送一次请求后才能将数据传回给客户端,因此,客户端定时向服务器端发送连接请求,不仅可以保持在线,同时也是在“询问”服务器是否有新的数据,如果有就将数据传给客户端。

1、socket调用库函数主要有:
创建套接字
Socket(af,type,protocol)
建立地址和套接字的联系
bind(sockid, local addr, addrlen)
服务器端侦听客户端的请求
listen( Sockid ,quenlen)
建立服务器/客户端的连接 (面向连接TCP)
客户端请求连接
Connect(sockid, destaddr, addrlen)
服务器端等待从编号为Sockid的Socket上接收客户连接请求
newsockid=accept(Sockid,Clientaddr, paddrlen)
发送/接收数据
面向连接:
send(sockid, buff, bufflen)
recv( )
面向无连接:
sendto(sockid,buff,…,addrlen)
recvfrom( )
释放套接字
close(sockid)
tcpsocket的具体实现
服务器的工作流程:首先调用socket函数创建一个Socket,然后调用bind函数将其与本机地址以及一个本地端口号绑定,然后调用listen在相应的socket上监听,当accpet接收到一个连接服务请求时,将生成一个新的socket。服务器显示该客户机的IP地址,并通过新的socket向客户端发送字符串" hi,I am server!"。最后关闭该socket。

相关文章

  • socket知识积累01

    进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的...

  • 0. Socket学习资料汇总

    Socket理论知识 iOS Socket理论知识 关于iOS socket都在这里了 iOS Socket T...

  • 月度目标的制作

    1/60晨间三件事(6.13)+昨日回顾+知识积累 知识积累 月度目标制定的方法详解01 01-引言 从18年10...

  • #Socket回顾学习笔记

    Socket学习笔记 Socket基础知识 背景 Socket概念 Socket 又称"套接字",是系统提供的用于...

  • Socket 知识点总结复习

    Socket 知识总结 1.socket 概念 通讯流程: 2.socket 断开重连 socket 的KeepA...

  • 1. iOS Socket 学习笔记

    一. Socket 基础知识 Socket 的位置首先上一张图, 让你知道 Socket 的位置。socket 什...

  • TCP

    基础知识 Linux命令 查看server socket netstat -ltnp 查看socket netst...

  • day18课堂总结

    01-recode 02-socket编程 import socket =========服务器套接字======...

  • iOS#GCDAsyncSocket使用

    背景 最近在开发使用Socket,重新复习了socket基本知识,文章如下: #Socket回顾学习笔记UDP G...

  • 【tcp】网络分析好文

    socket 编程基础知识https://cizixs.com/2015/03/29/basic-socket-p...

网友评论

      本文标题:socket知识积累01

      本文链接:https://www.haomeiwen.com/subject/oqxhsxtx.html