linux咋socket编程,linux中socket编程

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

客户端:include

#include

#include

#include

#include

#include

#include

#include

#include

#define SERVPORT 1234

#define MAXDATASIZE 1000 /**/ int main(int argc, char *argv[])

{

int sockfd, recvbytes;

int client_fd;

char buf[MAXDATASIZE];

struct hostent *host;

struct sockaddr_in serv_addr;

if(argc < 2)

{

fprintf(stderr,"Please enter the server's hostname!\n ");

exit(1);

}

if((host=gethostbyname(argv[1]))==NULL)

{

herror("gethostbyname error!");

exit(1);

}

if((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1)

{

perror("socket creat error!");

exit(1);

}

bzero(&serv_addr, sizeof (serv_addr));

serv_addr.sin_family=AF_INET;

serv_addr.sin_port=htons(SERVPORT);

serv_addr.sin_addr = *((struct in_addr *)host->h_addr);

// bzero(&serv_addr, sizeof (serv_addr));

if(connect(sockfd, (struct sockaddr *)&serv_addr,

sizeof(struct sockaddr)) == -1)

{

perror("connect error!");

exit(1);

}

while(1)

{

if(send(sockfd, "Hello, you are connected! ", 26, 0) == -1)

{ perror("send error !");}

}

close(sockfd);

return 0;

}

服务器端:

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define SERVPORT 1234 //**//

#define BACKLOG 10 //* *//

#define MAXDATASIZE 1000

int main(void)

{

int sockfd;

int client_fd,recvbytes;

char buf[MAXDATASIZE];

socklen_t sin_size;

struct sockaddr_in my_addr; /* local IP addr*/

//struct sockaddr_in remote_addr; /*clint IP addr*/

if((sockfd=socket(AF_INET, SOCK_STREAM, 0)) == -1)

{

perror("socket creat error!");

exit(1);

}

bzero(&my_addr, sizeof (my_addr));

my_addr.sin_family=AF_INET;

my_addr.sin_port=htons(SERVPORT);

my_addr.sin_addr.s_addr = INADDR_ANY;

if(bind(sockfd, (struct sockaddr *)&my_addr, sizeof(struct sockaddr)) == -1)

{

perror("bind error!");

exit(1);

}

if(listen(sockfd, BACKLOG) == -1)

{

perror("listen error !");

exit(1);

}

while(1)

{

sin_size = sizeof(struct sockaddr_in);

if((client_fd = accept(sockfd, (struct sockaddr *)&my_addr, &sin_size)) == -1)

{

perror("accept error");

continue;

}

} while (1)

{

printf("ok\n");

if((recvbytes=recv(sockfd, buf, MAXDATASIZE, 0)) ==-1)

{

perror("recv error!");

exit(1);

}

buf[recvbytes] = '\0';

printf("Received: %s\n",buf);

} close(client_fd);

}

初学socket,请高人指点错误,现在不提示错误,但是接受不到东西

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/489528.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

redis 简单应用

Incr $views Redis::incr(views); $article_views Redis::incr(article: . $article_id . :views); zIncrBy 有序集合 Sorted sets public function set($id){Redis::zIncrBy(articleViews, 1, article:.$id);}public function get(){$hots Redis::zRevRange(articleViews…

上位机软件用什么写的_python7天训练营 | 为什么大家都开始用python写论文了?...

谈及保研&#xff0c;“内卷”被大家吵得沸沸扬扬。但其实&#xff0c;不仅是夏令营申请竞争、推免资格评比等环节&#xff0c;就连最基本的论文&#xff0c;也开始卷了起来。就以大家最常写的实证类论文为例&#xff1a;前两年&#xff0c;很多社科和经管的学科&#xff0c;夏…

美国如何发展脑科技

来源&#xff1a;蓝海长青智库作者&#xff1a;王小理、韩雪、薛淮大脑是理解自然和人类本身的“终极疆域”&#xff0c;脑科技是科研领域“皇冠上的明珠”。相比欧洲“人类脑计划”的迟缓&#xff0c;美国“推进创新神经技术脑研究计划”&#xff08;BRAIN&#xff09;进展颇为…

python 类初始化参数校验_如何规避python参数的初始化次数?

我们在内存不足的时候&#xff0c;除了增加内存的可用度&#xff0c;可以进行一个清理内存的初始化操作&#xff0c;当然这种是最后迫不得已的选择。我们在python中也有需要用到初始化的地方&#xff0c;鉴于参数和函数的关系密不可分&#xff0c;本篇我们会简单的说一下参数的…

spring版本 jdk8_从JDK8升级到JDK11,看这篇就足够了

原文地址&#xff1a;https://blog.codefx.org/java/java-11-migration-guide/。 在原文的基础上&#xff0c;增加了一些我遇到的具体的坑还有在特定场景下的解决方案&#xff0c;供大家参考一些背景在背景知识&#xff0c;我们会讨论一些关于新的JDK Release周期&#xff0c;O…

关于mysql ERROR 1045 (28000)错误的解决办法

错误情景: 使用Navicat打开mysql的时候弹出错误框 错误代码: ERROR 1045 (28000): Access denied for user ODBClocalhost (using password: NO) ERROR 1045 (28000): Access denied for user ODBClocalhost (using password: YES) 解决步骤: 1.找到配置文件my.ini &#xff0…

欧洲将研究具备自学习能力的无人机“蜂群”

来源&#xff1a;空天防务观察2019年10月23日&#xff0c;美国《防务新闻》网站报道称&#xff1a;芬兰将发展人工智能列为其领导欧洲联盟理事会六个月任期的关键目标&#xff0c;并提出了“压制防空无人机蜂群”&#xff08;SEAD Swarm&#xff09;项目&#xff0c;以迷惑、瘫…

表格打印没有左边线_office办公软件Excel表格的打印技巧,建议收藏

很多新手使用办公软件过程中&#xff0c;对于Excel的打印出现了诸多问题&#xff0c;今天我们就一起来看看表格打印的几个技巧&#xff01;打印预览时网格线怎么不见了&#xff1f;如何调整打印区域的页边距&#xff1f;如何设置单色打印&#xff1f;......这些打印时遇到的麻烦…

符号说明表怎么做_能看懂这些房屋施工图,说明你家装修没问题了

一、基本知识1、标高1.1绝对标高亦称绝对高程或海拔高度,我国把青岛附近黄海的平均海平面定为绝对标高的零点,全国各地的标高均以此为基准。1.2标高是把某地点对应的绝对标高定义为0.000&#xff0c;(如名辉12#楼27.5)也称相对标高。建筑中一般以一层室内地面对应的绝对标高为0…

c语言字符数组不写,C语言数组

数组的基本使用数组的定义格式&#xff1a;类型 数组名[元素个数];int ages[5] {19, 29, 28, 27, 26};数组的注意事项存储空间的划分(内存的分配是从高地址到低地址进行的&#xff0c;但一个数组内部元素又是从低到高进行的)数组名的作用&#xff0c;查看元素地址数组越界的注…

【ARM-Linux开发】U-Boot启动过程--详细版的完全分析

------------------------------------------------------------------------------------------------------------------------------------------- 我们知道&#xff0c;bootloader是系统上电后最初加载运行的代码。它提供了处理器上电复位后最开始需要执行的初始化代码。 在…

一文看懂RISC-V:异构IoT时代全新架构

来源&#xff1a; 芯潮近两年来&#xff0c;在ARM和Intel主导的竞争格局中&#xff0c;新的开源指令集架构RISC-V在芯片江湖声名鹊起。我们将指令集分为三种&#xff1a;1、复杂指令集&#xff08;CISC&#xff09;&#xff1a;x86&#xff1b;2、精简指令集&#xff08;RISC&a…

谷粒商城三阶段课件_苏科版初中物理九年级上册二、变阻器公开课优质课课件教案视频...

课题&#xff1a; 14.2变阻器教学目标&#xff1a;1&#xff0e;知道滑动变阻器的构造及工作原理。2&#xff0e;能画出滑动变阻器的结构示意图和符号。3&#xff0e;会正确连接和使用滑动变阻器。4&#xff0e;了解生活中变阻器的一些应用。教学重点、难点&#xff1a;重点&a…

c语言改变doss窗口的颜色,C语言第三次模拟练习题部分解答

《C语言第三次模拟练习题部分解答》由会员分享&#xff0c;可在线阅读&#xff0c;更多相关《C语言第三次模拟练习题部分解答(20页珍藏版)》请在装配图网上搜索。1、单项选择1. 题号&#xff1a;13334若有如下语句int x3;doprintf(%dn,x-2);while(!(-x);则上面程序段________。…

小牛地图矢量抓取工具_SEO优化网站sitemap需要注意哪些要点才能很好的被百度蜘蛛抓取...

SEO优化网站sitemap需要注意哪些要点才能很好的被百度蜘蛛抓取一、全部链接真实有效。地图的主要目的是方便搜索引擎蜘蛛抓取的&#xff0c;如果地图存在死链&#xff0c;会影响网站在搜索引擎中网站权重的&#xff0c;要仔细检查有无错误的链接地址&#xff0c;提交前通过站长…

【加州理工】什么是模仿学习(Imitation Learning(模仿学习), 这62页ppt带你了解进展...

来源&#xff1a;专知【导读】Imitation Learning&#xff08;模仿学习&#xff09;机器学习新的研究热点之一&#xff0c;因其能很好的解决强化学习中的多步决策&#xff08;sequential decision&#xff09;问题&#xff0c;近段时间得到了广泛关注。那么模仿学习近期的前沿进…

python微信自动打卡_「微信辅助」吃鸡再也不怕了,Python用wxpy实现微信自动回复...

我是程序员小小叶&#xff0c;为大家带来原创精彩技术内容。首先安装wxpy。pip install wxpy优点&#xff1a;相比itchat封装了接口&#xff0c;使用较为方便。注意事项&#xff1a;wxpy 支持 Python 3.4-3.6&#xff0c;以及 2.7 版本。实现三个场景&#xff1a;场景1&#xf…

《信息安全系统设计基础》 实验五

实验五 我与20145236冯佳一组博客链接 转载于:https://www.cnblogs.com/ZouJR/p/6107862.html

c语言中的标准数据类型,C语言中的基本数据类型

编写程序:# include # include int main(void){printf("char的长度为%d\n",sizeof(char)); //结果: 1printf("int的长度为%d\n",sizeof(int)); //结果: 4printf("float的长度为%d\n",sizeof(float)); //结果: 4printf("double的长度为%d\n&…

ios12完美深色模式插件_分屏插件更新支持 A12,一心二用真滴爽

在众多iOS越狱插件中&#xff0c;总有几款亘古不变的插件一直深受大家的喜爱&#xff0c;分屏类插件就是其中之一。之前少年也介绍过几款好用的分屏 App&#xff0c;但是因为自己手持“真香” XR 机&#xff0c;而之前介绍的插件也一直没有适配 A12 设备&#xff0c;所以一直没…