面向连接套接字编
客户端: 客户端:void main(void) { WSADATA wsdata; WSAStartup(MAKEWORD(2,0),&wsdata); int s=socket(AF_INET, ,0); sockaddr_in addrto; addrto.sin_family=AF_INET; addrto.sin_addr.s_addr=inet_addr(“192.168.1.103” ); ; addrto.sin_port= (8080);
int nlen=sizeof(addrto); char *smsg="this is a test"; sendto( ,smsg,256,0,(sockaddr*)&addrto,nlen); }
服务器: 服务器:void main(void) { WSADATA wsdata; WSAStartup(MAKEWORD(2,0),&wsdata); SOCKET s= socket (AF_INET,SOCK_DGRAM,0); sockaddr_in from,a; a.sin_family=AF_INET; a.sin_addr.s_addr=htonl(INADDR_ANY); a.sin_port=htons(8080); bind( ,(sockaddr *)&a,sizeof(sockaddr_in)); char buf[256]; int fromlength=sizeof(SOCKADDR); (s,buf,256,0,(sockaddr *)&from,(int *)&fromlength); }
面向连接套接字编程流程编写网络点对点通信应用程序,使用流式 套接字,发送的内容自拟。 要求:端口取值1023~65535 要求:端口取值1023~65535 IP地址:172.16.0.1~172.16.0.100 IP地址:172.16.0.1~172.16.0.100
(1) 创建套接字客户端和服务器分别使用socket()函数创 客户端和服务器分别使用socket()函数创 建用于双方通信的套接字。 int SOCKET( int Protofamily, int Type, int Protocol);
(2)服务器端的套接字进行绑定int BIND( int Sockfd, struct sockaddr* My_addr, int Addrlen);
绑定的网络地址结构如下: 绑定的网络地址结构如下: struct sockaddr_in { short int sin_family; unsigned short int sin_port; struct in_addr sin_addr; unsigned char sin_zero[8];}
(3)服务器启动监听int LISTEN( int Sockfd, int Queuesize);
(4)客户端发送连接请求int CONNECT( int Sockfd, struct sockaddr* Service_addr, int Addrlen); 注意: 其中Service_addr结构体是服务 注意: 其中 结构体是服务 器监听套接字的地址
(5)服务器接受客户端的请求int ACCEPT(int Sockfd, struct sockaddr* Addr, int* addrlen); 注意: 该函数的返回值是一个套接字, 注意 : 该函数的返回值是一个套接字 , 使用 该套接字和已经连接上的客户端进行通信
7.向套接字发送 SEND() 和从套接字接收 RECV()int int int int SEND( int sockfd, char* buf, len, int flags ); RECV( int sockfd, char* buf, len, int flags );
客户端参考程序int s = socket(AF_INET, SOCK_STREAM, 0); 0); SOCKADDR_IN a; a.sin_family = AF_INET; a.sin_port = htons(6500); a.sin_addr.s_addr = inet_addr("127.0.0.1"); connect(s, (SOCKADDR *) &a, sizeof(ServerAddr); sizeof(ServerAddr); send(s, “Hello”, 5, 0); Hello” 0);
服务器参考程序int s1=socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); IPPROTO_TCP); SOCKADDR_IN ServerAddr; ServerAddr.sin_family = AF_INET; ServerAddr.sin_port = htons(6500); ServerAddr.sin_addr.s_addr = htonl(INADDR_ANY); bind(s1, (SOCKADDR *)&ServerAddr, sizeof(ServerAddr); sizeof(ServerAddr); (listen(s1, 5); 5); int s2 = accept(ListeningSocket, (SOCKADDR *) &ClientAddr,&ClientAddrLen); &ClientAddr,&ClientA
ddrLen); char DataBuffer[1024]; recv(s2, DataBuffer, sizeof(DataBuffer), 0); 0);
…… 此处隐藏:459字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [实用文档]李践-有效提升销售的12大黄金法则8-大
- [实用文档]党支部换届工作方案
- [实用文档]2013年下期电子商务专业部宣传工作计划
- [实用文档]方庄一矿通风、钻探绩效工资考核管理办
- [实用文档]项目一 认识企业物流认识企业物流
- [实用文档]MBI_Display_产品蓝图规画
- [实用文档]北京市建筑业劳务作业人员普法维权培训
- [实用文档]锅炉燃烧调整与运行优化
- [实用文档]4支付结算业务的核算
- [实用文档]米什金_货币金融学_第9版各章学习指导
- [实用文档]水泥混凝土路面硬化工程施工组织设计
- [实用文档]钢筋工程安全技术交底书
- [实用文档]关于公布华中师范大学本科毕业论文
- [实用文档]太原市园林绿化施工合同范本 2
- [实用文档]周日辅导 初中英语分类复习单项选择题(
- [实用文档]第四章 文化经纪人的管理形式 第二节
- [实用文档]学宪法讲宪法竞赛题库
- [实用文档]《数值计算方法》期末考试模拟试题二
- [实用文档]爱词霸学英语:每日一句( 十月)
- [实用文档]2014年国家公务员面试:无领导小组讨论
- 新课程主要理念和教学案例分析汇编(24
- 英国人的快乐源于幸福的家庭生活
- 七年级上册第一次月考模拟数学试卷
- 真丝及仿真丝的种类有哪些?
- 【最新】华师大版八年级数学下册第十六
- 高中英语3500个必背单词
- 我可以接受失败,但我不能接受放弃!
- 最近更新沪科版八年级物理上册期末试卷
- 绿化工作先进乡镇事迹材料
- 鲁教版九年级上册思想品德教学计划
- 英语音标的分类
- 地下室底板无梁楼盖与普通梁板结构形式
- 美容师黄金销售话术
- 雅思写作满分作文备考方法
- 血清甲状腺激素测定与高频彩色多普勒超
- 1度浅析装修对室内空气品质的影响
- 2017-2022年中国汞矿行业深度分析与投
- 计算机二级VB公共基础知识
- (何勇)秸秆禁烧_重在寻找出路
- 内外墙抹灰工程分包施工合同1




