linux下的socket基础编程
来源:互联网 发布:mac book pro官网 编辑:程序博客网 时间:2024/06/08 07:29
service端的代码:
1 #include<stdio.h>
2 #include<string.h>
3 #include<stdlib.h>
4 #include<sys/socket.h>
5 #include<unistd.h>
6 #include<ctype.h>
7 #include<arpa/inet.h>
8 int main(void){
9 int lfd,cfd;//定义一个文件描述符,后一个是一个客户端的文件描述符
10 struct sockaddr_in serv_addr,clie_addr;//定义结构体,后一个是一个客户端
11 socklen_t clie_addr_len;//初始化一个文件的长度
12 lfd=socket(AF_INET,SOCK_STREAM,0);//设置该文件的文件描述符,设置为当前主机,当前的协议为tcp
13
14 serv_addr.sin_family=AF_INET;//连接的是当前主机的
15 serv_addr.sin_port=htons(52013);//设置服务器的端口号
16 serv_addr.sin_addr.s_addr=htonl(INADDR_ANY);//设置为当前的ip
17
18 bind(lfd,(struct sockaddr *)&serv_addr,sizeof(serv_addr));//绑定ip和绑定port
19 listen(lfd,20);//设置允许的同时连接的数量
20 clie_addr_len=sizeof(clie_addr);//得到文件的最初的长度
21
22 cfd=accept(lfd,(struct sockaddr *)&clie_addr,&clie_addr_len);//得到客户端的信息
23 int n,i;//n表示读取的int返回指,i是计数器
24 char buff[BUFSIZ];//定义一个1024大小的字符串缓冲的数组
25
26 n=read(cfd,buff,sizeof(buff));//读取数据
27 for(i=0;i<n;i++){
28 buff[i]=toupper(buff[i]);
29 }//将小写转化为大写
30 write(cfd,buff,n);//写入数据
31 close(lfd);
32 close(cfd);
33 return 0;
34 }
client端下的代码:
1 #include<stdio.h>
2 #include<stdlib.h>
3 #include<unistd.h>
4 #include<sys/socket.h>
5 #include<arpa/inet.h>
6 #include<string.h>
7 int main(void){
8 int cfd;//本地的套接字
9 struct sockaddr_in serv_addr;//存ip和端口号
10
11 cfd=socket(AF_INET,SOCK_STREAM,0);//创建套接字
12
13 serv_addr.sin_family=AF_INET;//传输的类型
14 serv_addr.sin_port=htons(52013);//端口号
15 inet_pton(AF_INET,"127.0.0.1",&serv_addr.sin_addr.s_addr);//ip
16
17 connect(cfd,(struct sockaddr *)&serv_addr,sizeof(serv_addr));//得到连接
18 char buff[BUFSIZ];//缓冲的数组
19 fgets(buff,sizeof(buff),stdin);//从输入的读数据
20 write(cfd,buff,strlen(buff));//写数据
21 int n;
22 n=read(cfd,buff,sizeof(buff));//读数据
23 write(STDOUT_FILENO,buff,n);//写到屏幕上
24 close(cfd);//关闭
25
26 return 0;
27 }
- Linux下的Socket基础编程(2)
- linux下的socket基础编程
- Linux 下Socket编程基础
- Linux 下Socket编程基础
- Linux 下Socket编程基础
- Linux下socket编程基础
- Linux 下Socket编程基础
- Linux 下Socket编程基础
- Linux下Socket编程一 socket 基础
- Linux下基于C/C++的Socket编程基础
- Linux下基于C/C++的Socket编程基础
- Linux下基于C/C++的Socket编程基础
- Linux下基于C/C++的Socket编程基础
- linux下socket编程(基础参考)
- linux下socket编程(基础参考)
- linux下socket编程(基础参考)
- Linux 下Socket编程基础(转)
- Linux下的Socket编程
- Putty 使用中出现的问题
- 折半查找,也称二分查找、二分搜索,是一种在有序数组中查找某一特定元素的搜索算法。
- 2017 华东师范大学网赛 F.丽娃河的狼人传说( 贪心)
- 子元素上的margin作用到了父元素上
- [设计模式]观察者模式(Observer)
- linux下的socket基础编程
- Maven搭建Spring+Struts2+Mybatis项目(二) web.xml设置
- HDU1008
- Android界面设计之个人资料界面
- Redis简介
- 纪念我的第一篇CSDN博客-mac系统下cplex和yamip的配置以及在matlab中的调用
- leetcode 5. Longest Palindromic Substring Add to List
- oracle代码静态性能扫描
- 深入理解Java常用类----String(二)