网络通信简单代码(TCP)
来源:互联网 发布:centos搭建vpn网速慢 编辑:程序博客网 时间:2024/06/06 05:50
服务器端程序实现步骤:
1.创建监听套接字(买一部只能接电话的手机)
2.给套接字绑定(IP)地址(相当于给手机上号)
3.将套接字设置为监听状态(开机,将手机设置为待机)
4.接受客户端连接请求(相当于接受来电请求)
5.收发数据(相互通信)
6.断开连接(挂机)
456|456|456|456|456(可重复执行)
7.关闭监听套接字(手机关机或飞行模式)
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <sys/types.h>#include <sys/socket.h>#include <arpa/inet.h>int main(){//买手机 int socket_listen=socket(AF_INET,SOCK_STREAM,0);//绑卡 struct sockaddr_in myaddr; myaddr.sin_family=AF_INET; myaddr.sin_addr.s_addr=INADDR_ANY; myaddr.sin_port=htons(6666); if(-1==bind(socket_listen,(struct sockaddr*)&myaddr,sizeof(myaddr))) { perror("bind"); exit(-1); }//待机 listen(socket_listen,5);//接电话 int socket_conn=accept(socket_listen,NULL,NULL);//通话 char buf[100]; int ret; ret=recv(socket_conn,buf,sizeof(buf),0); if(ret>0) { buf[ret]='\0'; printf("客户端说:%s",buf); strcpy(buf,"已收到您的信息\n"); send(socket_conn,buf,strlen(buf),0); } else { printf("连接已断开"); }//关电话 close(socket_conn);//关手机 close(socket_listen); return 0;}
客户端
1.创建流套接字(买手机)
2.绑定地址(买卡,可省略)
(如果不进行显示绑定或绑定失败,操作系统会隐式绑定,一般是较大数)
3.连接服务器 (呼叫)
4.收发数据(通话)
5.断开连接(挂机)
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <sys/types.h>#include <sys/socket.h>#include <arpa/inet.h>int main(int argc,char** argv){ if(3!=argc) { printf("参数有误\n"); exit(-1); }//买手机 int socket_conn=socket(AF_INET,SOCK_STREAM,0);//绑卡 struct sockaddr_in myaddr; myaddr.sin_family=AF_INET; myaddr.sin_addr.s_addr=INADDR_ANY; myaddr.sin_port=htons(1234); if(-1==bind(socket_conn,(struct sockaddr*)&myaddr,sizeof(myaddr))) { perror("bind"); exit(-1); }//打电话 struct sockaddr_in ser_addr; ser_addr.sin_family=AF_INET; ser_addr.sin_addr.s_addr=inet_addr(argv[1]); ser_addr.sin_port=htons(atoi(argv[2])); if(-1==connect(socket_conn,(struct sockaddr*)&ser_addr,sizeof(ser_addr))) { perror("connect"); exit(-1); }//收发消息 char buf[100]; int ret; strcpy(buf,"cmz,1701\n"); ret=send(socket_conn,buf,strlen(buf),0); if(ret>0) { ret=recv(socket_conn,buf,sizeof(buf),0); buf[ret]='\0'; printf("服务器回复说:%s",buf); } else { printf("连接已断开\n"); }//挂电话 close(socket_conn); return 0;}
阅读全文
0 0
- 网络通信简单代码(TCP)
- 基于linux简单的TCP/IP网络通信代码
- 网络通信-TCP协议的简单示例(P)
- QT 简单的网络通信(tcp ,udp)
- MFC网络编程(二):简单TCP通信
- TCP网络通信的简单例子
- TCP网络通信服务器端简单示例
- 简单的网络通信程序 TCP
- TDI简单的TCP网络通信
- TCP协议实现网络通信简单例子
- 《MFC网络通信》Part 2 简单TCP通信
- 串口通信+TCP网络通信简单综合实例
- c++ Windows Socket实现最简单的C/S网络通信(TCP)
- linux网络编程之用socket实现简单客户端和服务端的通信(基于TCP)
- Qt与Java实现Tcp网络通信,收发简单字符串。
- linux 网络编程之最简单的tcp通信服务端
- linux 网络编程之最简单的tcp通信客户端
- C#网络编程TCP通信实例程序简单设计
- [js高手之路]node js系列课程-创建简易web服务器与文件读写
- KVC与KVO的总结
- vue-resource -- 全局拦截器interceptors
- angularjs-渲染完数据后执行js
- Alertdialog对话框,设置点击其他位置不消失
- 网络通信简单代码(TCP)
- Android学习 ------- Context理解
- 十进制转二进制、十进制转十六进制
- SpringMVC获取注解RequestMapping
- Codeforces Round#433 B. Maxim Buys an Apartment
- VBA实现EXCEL某一列的部分数据和等于指定值
- Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04
- 矩阵的转置
- BatchNorm层分析