linux网络编程socket.pdf
《linux网络编程socket.pdf》由会员分享,可在线阅读,更多相关《linux网络编程socket.pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、网络编程的流程:客户端:1、创建一个 socket;2、绑定 socket(IP,端口号);因为在 connect()中已经绑定了,所以不需要用blind()函数来绑定。serv_addr.sin_family=AF_INET;serv_addr.sin_port=htons(MYPORT);/端口号也就是进程,相当于应用程序的编号。端口号要与服务端的一致,所以绑定的端口号是服务端的端口号serv_addr.sin_addr.s_addr=inet_addr(IP);/绑定的 IP 是本机的 IP 3、发送建立连接请求connect();4、收到连接响应;5、发送数据 send();6、关闭
2、socket,close(sock_fd)。服务端端:1、创建一个 socket;2、绑定 socket(IP,端口号),blind();my_addr.sin_family=AF_INET;my_addr.sin_port=htons(MYPORT);/绑定的端口号是自己的端口号my_addr.sin_addr.s_addr=INADDR_ANY;/IP 是客户端任意一个IP3、侦听来自客户端的连接请求,listen();4、有客户端连接请求,为建立请求的客户端创建一个socket,返回连接响应,accept();5、接受客户端发送的数据,recv();6、关闭,close(new_fd)。
3、#include#include#include#include#include#include#include#include#define MYPORT 3999/listening port#define BACKLOG 10/max connect requests#define MAXDATASIZE 100/*max data volume*/#define IP 127.0.0.1 main(int argc,char*argv)int sock_fd,numbytes;/char*buf;/buf=(char*)malloc(20);char buf20;struct host
4、ent*host;struct sockaddr_in serv_addr;/*socket*/if(sock_fd=socket(AF_INET,SOCK_STREAM,0)=-1)perror(socket creat error);exit(1);serv_addr.sin_family=AF_INET;serv_addr.sin_port=htons(MYPORT);/serv_addr.sin_addr=inet_addr(IP);serv_addr.sin_addr.s_addr=inet_addr(IP);bzero(&(serv_addr.sin_zero),8);/*conn
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- linux 网络 编程 socket
限制150内