bind(lisnfd,(struct sockaddr *)&addr,sizeof(addr));
来源:互联网 发布:php简单新闻发布系统 编辑:程序博客网 时间:2024/06/06 00:43
#include<stdio.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<time.h>
#include<errno.h>
int main(int argc,char **argv)
{
int n,lisnfd,clinfd;
lisnfd=socket(AF_INET,SOCK_STREAM,0);
struct sockaddr_in addr;
addr.sin_family=AF_INET;
addr.sin_port=htons(83);
addr.sin_addr.s_addr=htonl(INADDR_ANY);
bind(lisnfd,(struct sockaddr *)&addr,sizeof(addr));
listen(lisnfd,5);
char buffer[5];
for(;;)
{
// int n;
clinfd=accept(lisnfd,(struct sockaddr *)NULL,NULL);
if(clinfd<0)
printf("error");
while((n=recv(clinfd,buffer,5,0))>0)
{
printf("%d /n",n);
buffer[n]='/n';
fputs(buffer,stdout);
printf("/n");
}
int k;
k=send(clinfd,"hellohello",11,0);//recv后接着send,失败
while(k<0)
{
k=send(clinfd,"hellohello",11,0);
printf("%d /n",k);
}
close(clinfd);
}
}
客户机:
#include<stdio.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<memory.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<string.h>
#define MAXSIZE 10
int main(int argc,char **argv)
{
char buffer[MAXSIZE+1];
int n,sockfd=socket(AF_INET,SOCK_STREAM,0);
struct sockaddr_in addr;
memset(&addr,0,sizeof(struct sockaddr_in));
addr.sin_family=AF_INET;
addr.sin_port=htons(83);
inet_pton(AF_INET,"127.0.0.1",&addr.sin_addr);
if(connect(sockfd,(struct sockaddr *)&addr,sizeof(struct sockaddr))<0)
{
printf("error");
}
int y=send(sockfd,"fuck",5,0);
while((n=recv(sockfd,buffer,MAXSIZE,0))>0) //send后接着recv,失败
{
buffer[n]='/n';
fputs(buffer,stdout);
}
printf("hahaha/n");
printf("%d /n",y);
close(sockfd);
return 0;
}
- bind(lisnfd,(struct sockaddr *)&addr,sizeof(addr));
- addr
- sock addr
- ip addr
- (bind(sListen, (struct sockaddr *)&local, sizeof(local))//把socket与IP和端口
- IPv6 addr autoconfig
- addr和offset区别
- one blog addr
- PTR、OFFSET、ADDR
- addr 与 offset 异同
- addr和offset
- new (addr)type(value)
- inet addr、bcast、mask
- INVOKE ADDR PROC PROTO
- python modle addr
- lea和offset、addr
- Wifi mac addr
- addr 与 offset 区别
- 重装Windows 7后修复Ubuntu 10.10 Grub【转】
- 易到用车网:没有一辆车的租车公司
- 运行Android模拟器的时候,提示Application Android keyboard(in process com.android.****)
- 送给写程序的你~!
- 不同浏览器下高度的区别
- bind(lisnfd,(struct sockaddr *)&addr,sizeof(addr));
- SQL Server分页大全及效率分析
- 最容易引发别人反感的IT员工
- 机器学习和计算机视觉相关的数学
- 用标准库对大规模数据排序
- linux内核代码学习笔记(二)
- 实习日记->第十六天
- 用php读取文件夹中的文件个数
- FAA称如日本核危机加剧美国将准备采取行动