tcp客户端编程(linux tcp编程)

      最后更新:2024-01-18 00:08

      采用tcp协议,使用socket编程,编写程序完成客户端发送消息给服务端,服务端接到消息后,再发

      服务端代码: /*server.c*/#include #include #include #include #include #include #include #include #define PORT4321#define BUFFER_SIZE 1024#define MAX_QUE_CONN_NM 5int main(){struct sockaddr_in server_sockaddr, client_sockaddr;int sin_size, recvbytes;int sockfd, client_fd;char buf[BUFFER_SIZE];/*建立socket连接*/if ((sockfd = socket(AF_INET,SOCK_STREAM,0))== -1){perror("socket");exit(1);}printf("Socket id = %dn",sockfd);/*设置sockaddr_in 结构体中相关参数*/server_sockaddr.sin_family = AF_INET;server_sockaddr.sin_port = htons(PORT);server_sockaddr.sin_addr.s_addr = INADDR_ANY;bzero(&(server_sockaddr.sin_zero), 8);int i = 1;/* 使得重复使用本地地址与套接字进行绑定 */setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, &i, sizeof(i));/*绑定函数bind*/if (bind(sockfd, (struct sockaddr *)&server_sockaddr, sizeof(struct sockaddr))== -1){perror("bind");exit(1);}printf("Bind success!n");/*调用listen函数*/if (listen(sockfd, MAX_QUE_CONN_NM) == -1){perror("listen");exit(1);}printf("Listening....n");/*调用accept函数,等待客户端的连接*/if ((client_fd = accept(sockfd, (struct sockaddr *)&client_sockaddr, &sin_size)) == -1){perror("accept");exit(1);}/*调用recv函数接收客户端的请求*/memset(buf , 0, sizeof(buf));if ((recvbytes = recv(client_fd, buf, BUFFER_SIZE, 0)) == -1){perror("recv");exit(1);}printf("Received a message: %sn", buf);if ((sendbytes = send(sockfd, buf, strlen(buf), 0)) == -1){perror("send");exit(1);}close(sockfd);exit(0);}客户端:/*client.c*/#include #include #include #include #include #include #include #include #include #define PORT4321#define BUFFER_SIZE 1024int main(int argc, char *argv[]){int sockfd, sendbytes;char buf[BUFFER_SIZE];struct hostent *host;struct sockaddr_in serv_addr;if(argc < 3){fprintf(stderr,"USAGE: ./client Hostname(or ip address) Textn");exit(1);}/*地址解析函数*/if ((host = gethostbyname(argv[1])) == NULL){perror("gethostbyname");exit(1);}memset(buf, 0, sizeof(buf));sprintf(buf, "%s", argv[2]);/*创建socket*/if ((sockfd = socket(AF_INET,SOCK_STREAM,0)) == -1){perror("socket");exit(1);}/*设置sockaddr_in 结构体中相关参数*/serv_addr.sin_family = AF_INET;serv_addr.sin_port = htons(PORT);serv_addr.sin_addr = *((struct in_addr *)host->h_addr);bzero(&(serv_addr.sin_zero), 8);/*调用connect函数主动发起对服务器端的连接*/if(connect(sockfd,(struct sockaddr *)&serv_addr, sizeof(struct sockaddr))== -1){perror("connect");exit(1);}/*发送消息给服务器端*/if ((sendbytes = send(sockfd, buf, strlen(buf), 0)) == -1){perror("send");exit(1);}if ((recvbytes = recv(sockfd, buf, BUFFER_SIZE, 0)) == -1){perror("recv");exit(1);}close(sockfd);exit(0); }
      采用tcp协议,使用socket编程,编写程序完成客户端发送消息给服务端,服务端接到消息后,再发

      python网络编程tcp客户端怎么写

      大多数连接都是可靠的TCP连接。创建TCP连接时,主动发起连接的叫客户端,被动响应连接的叫服务器。 举个例子,当我们在浏览器中访问新浪时,我们自己的计算机就是客户端,浏览器会主动向新浪的服务器发起连接。如果一切顺利,新浪的服务器接受了我们的连接,一个TCP连接就建立起来的,后面的通信就是发送网页内容了。所以,我们要创建一个基于TCP连接的Socket,可以这样做:# 导入socket库:import socket# 创建一个socket:s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 建立连接:s.connect(( , 80)) 创建Socket时,AF_INET指定使用IPv4协议,如果要用更先进的IPv6,就指定为AF_INET6。SOCK_STREAM指定使用面向流的TCP协议,这样,一个Socket对象就创建成功,但是还没有建立连
      python网络编程tcp客户端怎么写

      请问TCP网络编程有什么特点

      TCP网络编程的特点是: 1、由于网络的复杂性,传输信息时,数据包可能会丢失,差错控制中的确认机制在接收到数据包是发送确认信息,若是数据包丢失,则回发数据包编号,让对方重新发送;2、由于网络的复杂性,传输信息时有多种网络传送途径可以选择,数据包被接收的顺序与发送顺序不同,可以根据数据包的编号,将数据包重组。3、网络连接是以点对点的形式,加上上述特点,保证了数据的安全性,数据包不会中途被劫。 更多关于TCP网络编程有什么特点,进入:https://m.abcgonglue.com/ask/9271361614909232.html?zd查看更多内容
      请问TCP网络编程有什么特点

      网络通信 TCP 客户端编程

      TCP/IP、Http、Soap都是基本的通讯协议。楼主若是行内人士一定知道这些。这里我不妨多说几句。 通讯协议即网络中(包括互联网、局域网)传递、管理信息的一些规范。常见的协议有:TCP/IP协议、IPX/SPX协议、NetBEUI协议、SOAP协议等。在局域网中用得的比较多的是IPX/SPX。用户如果访问Internet,则必须在网络协议中添加TCP/IP协议。TCP/IP是“transmission Control Protocol/Internet Protocol”的简写,它规范了网络上的所有通信设备,尤其是一个主机与另一个主机之间的数据往来格式以及传送方式。TCP/IP是INTERNET的基础协议,也是一种电脑数据打包和寻址的标准方法.假设服务器、实现网络通信(比如聊天),不管你是.NET还是其他,一定要了解TCP/IP。在WEB编程中,服务端是指提供HTTP服务的部分,客户端是指你使用的浏览器。HTTP协议就是实现客户端和服务器端的通讯。简单说就是请求与响应,你提交了什么,返回个什么都可以在HTTP里规范。举个例子,用户在WEB页上看到自己的客户端信息实际是HTTP的2次通讯。SOAP(Simple Object Access Protocal,简单对象访问协议) 技术有助于实现大量异构程序和平台之间的互操作性,根据我有限的了解,SOAP是把成熟的基于HTTP的WEB技术与XML的灵活性和可扩展性组合在了一起。比如我们.NET中的WEB服务,就是基于SOAP 简单说就是这样,每一种通讯协议都很复杂,建议楼主多了解HTTP和SOAP。
      网络通信 TCP 客户端编程

      TCP网络编程有什么特点?

      TCP网络编程的特点是:rn1、由于网络的复杂性,传输信息时,数据包可能会丢失,差错控制中的确认机制在接收到数据包是发送确认信息,若是数据包丢失,则回发数据包编号,让对方重新发送;rn2、由于网络的复杂性,传输信息时有多种网络传送途径可以选择,数据包被接收的顺序与发送顺序不同,可以根据数据包的编号,将数据包重组。rn3、网络连接是以点对点的形式,加上上述特点,保证了数据的安全性,数据包不会中途被劫。rn更多关于TCP网络编程有什么特点,进入:https://m.abcgonglue.com/ask/9271361614909232.html?zd查看更多内容
      TCP网络编程有什么特点?

      本文由 在线网速测试 整理编辑,转载请注明出处。

          热门文章

          文章分类