热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

在手机上怎么运行c语言,各位前辈这两个程序怎么在手机上运行

该楼层疑似违规已被系统折叠隐藏此楼查看此楼*madebyebhrz*#include#include#include#include#include#include#include

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

/*made by ebhrz*/

#include

#include

#include

#include

#include

#include

#include

/*---------global define---------*/

int cfd; /* 文件描述符 */

int recbytes;

int sin_size;

char buffer[1024] = { 0 }; /* 接受缓冲区 */

struct sockaddr_in s_add, c_add; /* ip、端口 */

unsigned short portnum = 1234;//端口可自己修改

char msg[1024];

/*-----------global define end-----*/

int set_link()

{

cfd = socket(AF_INET, SOCK_STREAM, 0);

if (-1 == cfd)

{

printf("socket fail ! \r\n");

return -1;

}

printf("socket ok !\r\n");

bzero(&s_add, sizeof(struct sockaddr_in));

s_add.sin_family = AF_INET;

s_add.sin_addr.s_addr = inet_addr("127.0.0.1"); /* ip转换为4字节整形,使用时自己修改 */

s_add.sin_port = htons(portnum);

if (-1 ==

connect(cfd, (struct sockaddr *)(&s_add), sizeof(struct sockaddr)))

{

printf("connect fail !\n");

return -1;

}

return 1;

}

int rec()

{

if (-1 == (recbytes = read(cfd, buffer, 1024)))

{

printf("read data fail !\n");

return -1;

}

printf("%s\n", buffer);

if(strcmp(buffer,"bye bye")==1)

exit(0);

memset(buffer,0,1024);

}

int snd()

{

scanf("%[^\n]", msg);

if (-1 == write(cfd, msg, 32))

{

printf("write fail!\n");

return -1;

}

memset(msg, 0, 1024);

getchar();//接收遗留\n

}

int main()

{

printf("Hello,welcome to client !\n");

pid_t pid;

if (set_link() != 1)

{

printf("sth wrong");

return -1;

}

pid = fork();

if (pid <0)

perror("fork error");

else if (pid > 0)

{

while (1)

rec();

close(cfd);

}

else

{

while (1)

snd();

close(cfd);

}

return 0;

}

/*made by ebhrz*/

#include

#include

#include

#include

#include

#include

#include

/*---------global define---------*/

int sfp, nfp;// 文件描述符

int recbytes;

int sin_size;

char buffer[1024] &#61; { 0 };//接受缓冲区

struct sockaddr_in s_add, c_add; //ip、端口

unsigned short s_portnum &#61; 1234;

char msg[1024];

/*-----------global define end-----*/

int set_link()

{

sfp &#61; socket(AF_INET, SOCK_STREAM, 0);

if (-1 &#61;&#61; sfp)

{

printf("socket fail ! \n");

return -1;

}

printf("socket ok !\n");

bzero(&c_add, sizeof(struct sockaddr_in));

s_add.sin_family &#61; AF_INET;

s_add.sin_addr.s_addr &#61; htonl(INADDR_ANY);//ip不定

s_add.sin_port &#61; htons(s_portnum);

if (-1 &#61;&#61; bind(sfp, (struct sockaddr *)(&s_add), sizeof(struct sockaddr)))

{

printf("bind fail !\r\n");

return -1;

}

printf("bind ok !\r\n");

sin_size &#61; sizeof(struct sockaddr_in);

return 1;

}

int rec()

{

if (-1 &#61;&#61; (recbytes &#61; read(nfp, buffer, 1024)))

{

printf("read data fail !\n");

return -1;

}

printf("%s\n", buffer);

if(strcmp(buffer,"bye bye")&#61;&#61;1)

exit(0);

memset(buffer,0,1024);

}

int snd()

{

scanf("%[^\n]", msg);

printf("%s", msg);

if (-1 &#61;&#61; write(nfp, msg, 32))

{

printf("write fail!\n");

return -1;

}

memset(msg, 0, 1024);

getchar();

}

int main()

{

printf("Hello,welcome to service !\n");

pid_t pid;

if (set_link() !&#61; 1)

{

printf("sth wrong");

return -1;

}

if (-1 &#61;&#61; listen(sfp, 5))

{

printf("listen fail !\n");

return -1;

}

nfp &#61; accept(sfp, (struct sockaddr *)(&c_add), &sin_size);

if (-1 &#61;&#61; nfp)

{

printf("accept fail !\n");

return -1;

}

pid &#61; fork();

if (pid <0)

perror("fork error");

else if (pid > 0)

{

while (1)

snd();

close(nfp);

close(sfp);

}

else

{

while (1)

rec();

close(nfp);

close(sfp);

}

return 0;

}



推荐阅读
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • 开发笔记:实验7的文件读写操作
    本文介绍了使用C++的ofstream和ifstream类进行文件读写操作的方法,包括创建文件、写入文件和读取文件的过程。同时还介绍了如何判断文件是否成功打开和关闭文件的方法。通过本文的学习,读者可以了解如何在C++中进行文件读写操作。 ... [详细]
  • 本文介绍了在Windows系统上使用C语言命令行参数启动程序并传递参数的方法,包括接收参数程序的代码和bat文件的编写方法,同时给出了程序运行的结果。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • 本文介绍了Swing组件的用法,重点讲解了图标接口的定义和创建方法。图标接口用来将图标与各种组件相关联,可以是简单的绘画或使用磁盘上的GIF格式图像。文章详细介绍了图标接口的属性和绘制方法,并给出了一个菱形图标的实现示例。该示例可以配置图标的尺寸、颜色和填充状态。 ... [详细]
  • Android系统源码分析Zygote和SystemServer启动过程详解
    本文详细解析了Android系统源码中Zygote和SystemServer的启动过程。首先介绍了系统framework层启动的内容,帮助理解四大组件的启动和管理过程。接着介绍了AMS、PMS等系统服务的作用和调用方式。然后详细分析了Zygote的启动过程,解释了Zygote在Android启动过程中的决定作用。最后通过时序图展示了整个过程。 ... [详细]
  • 基于Socket的多个客户端之间的聊天功能实现方法
    本文介绍了基于Socket的多个客户端之间实现聊天功能的方法,包括服务器端的实现和客户端的实现。服务器端通过每个用户的输出流向特定用户发送消息,而客户端通过输入流接收消息。同时,还介绍了相关的实体类和Socket的基本概念。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • Linux环境变量函数getenv、putenv、setenv和unsetenv详解
    本文详细解释了Linux中的环境变量函数getenv、putenv、setenv和unsetenv的用法和功能。通过使用这些函数,可以获取、设置和删除环境变量的值。同时给出了相应的函数原型、参数说明和返回值。通过示例代码演示了如何使用getenv函数获取环境变量的值,并打印出来。 ... [详细]
  • 本文介绍了PE文件结构中的导出表的解析方法,包括获取区段头表、遍历查找所在的区段等步骤。通过该方法可以准确地解析PE文件中的导出表信息。 ... [详细]
  • 本文介绍了在Cpp中将字符串形式的数值转换为int或float等数值类型的方法,主要使用了strtol、strtod和strtoul函数。这些函数可以将以null结尾的字符串转换为long int、double或unsigned long类型的数值,且支持任意进制的字符串转换。相比之下,atoi函数只能转换十进制数值且没有错误返回。 ... [详细]
author-avatar
mobiledu2502917563
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有