[国嵌攻略][091][TCP网络程序设计]
server.c
#include <sys/socket.h>
#include <netinet/in.h>
#include <strings.h>
#include <stdio.h> #define SERVER_PORT 3333 void main(){
//创建标识
int serverfd; serverfd = socket(AF_INET, SOCK_STREAM, ); //建立TCP连接 //绑定地址
struct sockaddr_in serverAddr; serverAddr.sin_family = AF_INET; //设置协议
serverAddr.sin_port = htons(SERVER_PORT); //设置端口
serverAddr.sin_addr.s_addr = htonl(INADDR_ANY); //设置地址
bzero(serverAddr.sin_zero, ); //设置为零 bind(serverfd, (struct sockaddr *)&serverAddr, sizeof(struct sockaddr)); //监听端口
listen(serverfd, ); //等待连接
socklen_t clientAddrLen;
struct sockaddr_in clientAddr;
int clientfd; clientAddrLen = sizeof(struct sockaddr);
clientfd = accept(serverfd, (struct sockaddr *)&clientAddr, &clientAddrLen); //接收数据
char buffer[]; recv(clientfd, buffer, sizeof(buffer), ); //显示数据
char *clientIPAddr; clientIPAddr = (char *)inet_ntoa(clientAddr.sin_addr.s_addr);
printf("server recvice from %s:\n%s", clientIPAddr, buffer); //关闭连接
close(clientfd);
close(serverfd);
}
client.c
#include <sys/socket.h>
#include <netinet/in.h>
#include <strings.h>
#include <stdio.h> #define SERVER_PORT 3333 int main(int argc, char **argv){
//参数检查
if(argc != ){
printf("Usage:\n\t./client <ip address>\n");
return -;
} //创建标识
int clientfd; clientfd = socket(AF_INET, SOCK_STREAM, ); //建立TCP连接 //建立连接
struct sockaddr_in serverAddr; serverAddr.sin_family = AF_INET; //设置协议
serverAddr.sin_port = htons(SERVER_PORT); //设置端口
serverAddr.sin_addr.s_addr = inet_addr(argv[]); //设置地址
bzero(serverAddr.sin_zero, ); //设置为零 connect(clientfd, (struct sockaddr *)&serverAddr, sizeof(struct sockaddr)); //输入数据
char buffer[]; printf("client send to %s:\n", argv[]);
fgets(buffer, sizeof(buffer), stdin); //发送数据
send(clientfd, buffer, sizeof(buffer), ); //关闭连接
close(clientfd); return ;
}
[国嵌攻略][091][TCP网络程序设计]的更多相关文章
- [国嵌攻略][092][UDP网络程序设计]
server.c #include <sys/socket.h> #include <netinet/in.h> #include <strings.h> #inc ...
- [国嵌攻略][090][linux网络编程模型]
编程模型 Socket的实质就是一个接口,利用该接口,用户在使用不同的网络协议时,操作函数得以统一.而针对不同协议的差异性操作,则交给了Socket去自行解决. TCP编程模型 UDP编程模型
- [国嵌攻略][068][tftp网络协议实现]
IP协议结构 UDP协议结构 TFTP协议结构 TFTP端口 读写请求端口: 69 其他请求端口:1024~65535 主程序 /*********************************** ...
- [国嵌攻略][119][Linux中断处理程序设计]
裸机中断: 1.中断统一入口. 2.注册中断处理程序. 3.根据中断源编号,调用中断处理程序. Linux中断 1.在entry-armv.S中的_irq_svc是中断统一入口. 2.获取产生中断源的 ...
- [国嵌攻略][117][LED驱动程序设计]
LED程序设计 1.编写内核模块 2.搭建字符驱动框架 3.实现设备方法 头文件 <linux/io.h> writel() 1.编译/安装驱动 make cp leddev.ko ... ...
- [国嵌攻略][065][DM9000驱动程序设计]
移植代码:通过已有的可用的代码修改到新环境下运行. 代码编写: 初始化网卡 1.选中网卡 nLAN_CS BWSCON(0x48000000) DW4:01 16bit BANKCON4(0x4800 ...
- [国嵌攻略][164][USB驱动程序设计]
USB驱动模型 1.USB host controller driver(主控器驱动):为USB主控制器提供驱动程序 2.USB core(USB核心):连接USB主控制器驱动和USB设备驱动 3.U ...
- [国嵌攻略][160][SPI驱动程序设计]
SPI Flash驱动 1.打开/drivers/mtd/devices/m25p80.c驱动文件.找到初始化m25p80_init函数,其中通过spi_register_driver来注册spi设备 ...
- [国嵌攻略][151][nandflash驱动程序设计]
初始化 打开/drivers/mtd/nand/s3c2410.c找到nand flash驱动程序代码,找到模块初始化函数s3c_nand_init,找到platform_driver中的probe函 ...
随机推荐
- 搭建eclipse+tomcat开发环境
JDK 1.6 Eclipse IDE For JEE Version Tomcat 6.0 tomcatPluginV33 //eclipse平台上的插件,但它并不是tomcat本身,需要安装独立 ...
- Docker(二):Docker镜像使用
1.Docker Image介绍 简单来说,Docker Image是用来启动容器的只读模板. Docker Image被划分了三个部分:Remote-dockerhub.com/namespace/ ...
- HtmlTestRunner无法生成HTML报告问题
环境: Python3.6 + Selenium3.3.0 + HtmlTestRunner1.1.0 ON Windows10 IDE: PyCharm HtmlTestRunner地址: http ...
- IDEA 环境设置
IDEA环境设置 任何事物都有两面性,如何用好才是关键.IDEA为我们提供了丰富的功能,但不代表默认的配置就适合于你.我们应当根据自己的条件.需求合理的配置,从而驾驭好这匹悍马.让它成为我们编程的利器 ...
- redis 安装方式
1 参考网址 https://www.cnblogs.com/ahjx1628/p/6496529.html https://www.cnblogs.com/smail-bao/p/6164132.h ...
- lambda 与内置函数,以及一些补充
插播几条小知识: 1. lambda 表达式 对于简单的函数,我们可以用 lamdba 表达式来执行,一句话就够用
- android inline hook
最近终于沉下心来对着书把hook跟注入方面的代码敲了一遍,打算写几个博客把它们记录下来. 第一次介绍一下我感觉难度最大的inline hook,实现代码参考了腾讯GAD的游戏安全入门. inline ...
- MySQL字符串相关函数学习二
① LOWER(str):将字符串转为小写:与此函数具有相同作用的函数有LCASE() 如果参数是小写.数字或其他特殊字符,则返回原数据 ② LEFT(str, len):返回字符串str左边的len ...
- MySQL 配置文件my.cnf
转载: MySQL配置文件my.cnf 详解:#BEGIN CONFIG INFO#DESCR: 4GB RAM, 只使用InnoDB, ACID, 少量的连接, 队列负载大#TYPE: SYSTEM ...
- APP网络测试要点和弱网模拟
当前APP网络环境比较复杂,网络制式有2G.3G.4G网络,还有越来越多的公共Wi-Fi.不同的网络环境和网络制式的差异,都会对用户使用app造成一定影响.另外,当前app使用场景多变,如进地铁.上公 ...