泉州网站建设开发泉州网站建设推广
泉州网站建设开发,泉州网站建设推广,jsp网站开发 英文,做网站要怎么找单网络编程场景 自己是客户端站在5栋楼前#xff0c;自己要找到5栋楼中的一座并进入某一间房间#xff0c;这时第二座楼上有人在用汉语#xff08;tcp/udp#xff09;说话,我的ip地址#xff08;楼号#xff09;是…#xff0c;我的端口号#xff08;房间号#xff09;是…网络编程场景 自己是客户端站在5栋楼前自己要找到5栋楼中的一座并进入某一间房间这时第二座楼上有人在用汉语tcp/udp说话,我的ip地址楼号是…我的端口号房间号是…就是先告诉你你的ip地址和端口号确定你的服务器在哪里然后回房间监听等待大家的来访来了敲门
Socket服务器和客户端的开发步骤
服务器开发 第一步 socket获得一个套接字返回套接字的描述符后面都是基于这个描述符向外面进行网络访问这个作用有点像open 第二步 bind为套接字添加信息将ip地址和端口号绑定到套接字。 第三步 listen监听网络连接 第四步 accept监听到有客户端接入的时候接受一个连接。 第五步 数据交互read从网络通道上读数据write向网络通道发数据 第六步 关闭套接字断开连接。 客户端开发 socket给客户端一个通道知道IP地址和端口号调用connect连接然后客户端write服务端read服务端write客户端read。
linux提供的API简析 1、创建套接字时指定用哪种协议进行连接 2、地址准备好
地址转换API 4、监听 4、连接 数据收发 数据的收发第二套API
客户端connect函数 字节序转换API 查找结构体方法
-nir中 n表示显示行号i表示不区分大小写r表示逐行扫描
socket服务端代码演示
#includestdio.h
#include string.h
#include sys/types.h
#include sys/socket.h
//#includelinux/in.h
#include arpa/inet.h
#includestdlib.h
#includenetinet/in.hint main()
{int s_fd;int n_read;char readbuf[128];char*msgI have get your messange;//1.sockets_fdsocket(AF_INET,SOCK_STREAM,0);//AF_INET表示IPV4因特网域SOCK_STREAM表示TCP协议if(s_fd-1){perror(socket);//打印错误exit(-1);}struct sockaddr_in s_addr;struct sockaddr_in c_addr;memset(s_addr,0,sizeof(struct sockaddr_in));memset(c_addr,0,sizeof(struct sockaddr_in));s_addr.sin_familyAF_INET;//IPV4因特网域s_addr.sin_porthtons(8988);//htons将字节序转换为网络字节序inet_aton(192.168.183.128,s_addr.sin_addr);//sin_addr是ip地址//2.bindbind(s_fd,(struct sockaddr *)s_addr,sizeof(struct sockaddr_in));//3.listenlisten(s_fd,10);int clensizeof(struct sockaddr_in);//4.acceptint c_fdaccept(s_fd,(struct sockaddr *)c_addr,clen);//这里的c_fd就是接下来的操作对象s_fd继续等待其他客户端的接入accept的第二个参数是接入服务器者的信息if(c_fd-1){perror(accept);}printf(get connect :%s\n,inet_ntoa(c_addr.sin_addr));//打印接入客户端的IP地址//5.readn_readread(c_fd,readbuf,128);if(n_read -1){perror(read);}else{printf(get message :%d,%s\n,n_read,readbuf);}//6.writewrite(c_fd,msg,strlen(msg));return 0;
}
socket客户端代码演示
#includestdio.h
#include string.h
#include sys/types.h
#include sys/socket.h
//#includelinux/in.h
#include arpa/inet.h
#includestdlib.h
#includenetinet/in.hint main()
{int c_fd;int n_read;char* readbuf;readbuf(char *)malloc(128);char*msgmessage from client;//1.socketc_fdsocket(AF_INET,SOCK_STREAM,0);if(c_fd-1){perror(socket);exit(-1);}struct sockaddr_in c_addr;memset(c_addr,0,sizeof(struct sockaddr_in));c_addr.sin_familyAF_INET;c_addr.sin_porthtons(8988);inet_aton(192.168.183.128,c_addr.sin_addr);//2.connectif(connect(c_fd,(struct sockaddr*)c_addr,sizeof(struct sockaddr_in))-1){perror(connect);exit(-1);}//3.sendwrite(c_fd,msg,strlen(msg));//4.readn_readread(c_fd,readbuf,128);if(n_read -1){perror(read);}else{printf(get message from server:%d,%s\n,n_read,readbuf);}return 0;
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/90828.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!