收藏 分享(赏)

实验一 Windows下Socket编程实现简单通信.doc

上传人:weiwoduzun 文档编号:5152803 上传时间:2019-02-10 格式:DOC 页数:6 大小:174.50KB
下载 相关 举报
实验一 Windows下Socket编程实现简单通信.doc_第1页
第1页 / 共6页
实验一 Windows下Socket编程实现简单通信.doc_第2页
第2页 / 共6页
实验一 Windows下Socket编程实现简单通信.doc_第3页
第3页 / 共6页
实验一 Windows下Socket编程实现简单通信.doc_第4页
第4页 / 共6页
实验一 Windows下Socket编程实现简单通信.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、天津理工大学实验报告学院(系) 名称:计算机与通信工程学院姓名 刘琪琪 学号 20125871 专业 网络工程班级 1 班 实验题目 Windows 下 Socket 编程实现简单通信课程名称 网络编程 课程代码实验时间 2015 实验地点 7-219批改意见 成绩教师签字: 实验 Windows 下 Socket 编程实现简单通信一 实验目的在 windows 环境下进行 socket 编程,实现两台主机间的简单通信。二 实验环境搭载 Windows 7 操作系统的 PC 机VC 6.0 编译器三 实验内容1,服务器、客户端创建套接字2,客户端发送连接请求3,服务器收到请求后打印连接成功消息

2、四 实验报告要求1,有客户端和服务器的完整代码2,实验结果截图3,Socket 通信过程流程图五 部分源代码及主要 Socket 函数参考1, 注册套接字函数 socket(int af,int type,int protocol)参数解释:af : 一个地址描述 ,目前只支持 AF_INET 格式,也就是说在本次实验中此参数直接写 为 AF_INET 即可。type: 指定 socket 类型,例如 TCP 类型(SOCK_STREAM) UDP 类型(SOCK_DGRAM)protocol: 套接口制订协议类型 可以为 0,。 常用类型有 IPPROTO_TCP 、IPPROTO_UDP

3、等2, 绑定套接字函数 bind ( SOCKET s , const struct sockaddr FAR *addr , int namelen );参数解释:s :socket()函数返回的套接口描述字addr : 指向 Socket 地址的指针namelen :该地址的长度3,监听函数 listen(SOCKET s,int backlog)参数解释:s: socket()函数返回的套接口描述字backlog:等待连接队列的最大长度4,接收连接函数 accept(SOCKET s,struct sockaddr FAR* addr,int FAR* addrlen)参数解释:s: s

4、ocket()函数返回的套接口描述字addr:(可选)指针,指向一缓冲区,其中接收为通讯层所知的连接实体的地址。addr 参数的实际格式由套接口创建时所产生的地址族确定addrlen:(可选)指针,输入参数,配合 addr 一起使用,指向存有 addr 地址长度的整型数5, 发送连接请求函数 connect(SOCKET s,const struct coskaddr FAR* name,int namelen)s: socket()函数返回的套接口描述字name: 想要进行连接的端口名namelen: 名字长度客户端:#include #include #include #include #

5、define PORTNUMBER 333#pragma comment(lib,“ws2_32.lib“)#define QueueLen 6int visits = 0;int main(int argc, char * argv)WORD version;version = MAKEWORD(1, 1);WSADATA wsa;if(0 != WSAStartup(version, exit(0);/ struct hostent * ptrh;struct sockaddr_in servaddr;struct sockaddr_in clientaddr;int listenfd;i

6、nt clientfd;int port;int alen;char buf1000;memset( /初始化 servaddr 为 0servaddr.sin_family = AF_INET;/主机地址标识的数据结构,使用 TCP/IP 协议servaddr.sin_addr.s_addr = INADDR_ANY;/32 位的 IP 地址,网络字节顺序if(argc 1)port = atoi(argv1); else port = PORTNUMBER;if(port 0)servaddr.sin_port = htons(unsigned short) port); /把端口转换成网

7、络序 else fprintf(stderr, “bad port number%dn“, argv1);exit(0);listenfd = socket(AF_INET, SOCK_STREAM, IPPROTO_IP ); /注册一个 socket descriptionDWORD error = GetLastError();if(listenfd #include #include #include #include #include #define MAXLINE 1000#define SERVERPORT 333#pragma comment(lib,“ws2_32.lib“)

8、int main(int argc, char * argv)WORD version;version = MAKEWORD(1, 1);WSADATA wsa;if(0 != WSAStartup(version, exit(0);int sockfd, n;char recvlineMAXLINE + 1;struct sockaddr_in servaddr;memset(servaddr.sin_family = AF_INET;servaddr.sin_port = htons(SERVERPORT);servaddr.sin_addr.s_addr = inet_addr(“192.168.0.103“);if(sockfd = socket(AF_INET, SOCK_STREAM, 0) 0)recvlinen = 0;if(fputs(recvline, stdout) = EOF)printf(“fputs error!n“);exit(0);if (n 0)printf(“read error!“);exit(0);return 0;六 实验结果截图客户端:服务器端:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 网络科技 > windows相关

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报