一个TCP 服务端和客户端程序
来源:互联网 发布:非农数据网 编辑:程序博客网 时间:2024/06/04 20:11
#include <sys/socket.h>
#include <string.h>
#include <netinet/in.h>
#include <stdlib.h>
#include <stdio.h>
#include <netdb.h>
#include <errno.h>
#define PORT 7777
struct sockaddr_in server;
struct hostent *host;
char buffer[1024];
int main(int argc ,char *argv[])
{
if(argc !=2)
{
fprintf(stderr,"Usage :%s hostname \a\n",argv[0]);
exit(1);
}
if((host = gethostbyname(argv[1])) == NULL)
{
fprintf(stderr,"Gethostname erro");
exit(1);
}
int clientfd;
clientfd = socket(AF_INET, SOCK_STREAM, 0);
if(0 == clientfd)
{
fprintf(stderr,"create socket error %s\n",strerror(errno));
exit(1);
}
bzero(&server,sizeof(struct sockaddr_in));
server.sin_family = AF_INET;
server.sin_port = htons(PORT);
server.sin_addr = *((struct in_addr *)host->h_addr);
if(connect(clientfd,(struct sockaddr *)&server,sizeof(struct sockaddr)) == -1)
{
fprintf(stderr,"connect server error %s\n",strerror(errno));
exit(1);
}
printf("Please input char: \n");
fgets(buffer,1024,stdin);
write(clientfd,buffer,strlen(buffer));
printf("buffer is %s\n",buffer);
close(clientfd);
}
/////////////////////////////////////////////////////////////////
#include <sys/socket.h>
#include <sys/types.h>
#include <stdlib.h>
#include <stdio.h>
#include <netinet/in.h>
#include <errno.h>
#include <string.h>
#include <netdb.h>
#define MAXSIZE 30
#define PORT 7777
#define MAXCONNECT 20
struct sockaddr_in host;
struct sockaddr_in client;
int main()
{
printf("welcome to my server \n");
int sockServer, new_fb;
int bytes;
char buffer[1024];
int errbind;
sockServer = socket(AF_INET,SOCK_STREAM,0);
if(-1 == sockServer )
{
perror("sockServer create failed\n");
exit(1);
}
host.sin_family = AF_INET;
host.sin_port = htons(PORT);
host.sin_addr.s_addr = INADDR_ANY;
errbind = bind(sockServer, (struct sockaddr *)&host, sizeof(struct sockaddr));
if(-1 == errbind)
{
perror("bind erro\n");
exit(1);
}
if(listen(sockServer,MAXCONNECT) == -1)
{
perror("listen erro\n");
exit(1);
}
int sin_size = sizeof(struct sockaddr_in);
printf("##########\n");
while(1)
{
printf("start accpt data\n");
new_fb = accept(sockServer, (struct sockaddr*)(&client),&sin_size);
if(-1 == new_fb )
{
fprintf(stderr,"accept failed %s\n",strerror(errno));
exit(1);
}
fprintf(stderr,"get data from %s\n",inet_ntoa(client.sin_addr));
int len = sizeof(client);
if((bytes = read(new_fb,buffer,1023)) == -1)
{
fprintf(stderr, "read failed %s\n", strerror(errno));
exit(1);
}
buffer[bytes] = '\0';
printf("recived data is %s \n",buffer);
close(new_fb);
}
close(sockServer);
}
- 一个TCP 服务端和客户端程序
- ace TCP 服务端和客户端简单程序
- php编写TCP服务端和客户端程序
- TCP服务端和客户端程序示例
- php编写TCP服务端和客户端程序
- 01 TCP Socket 编程_一个简单的服务端程序和客户端程序实现
- 一个简单的TCP客户端、服务端会话程序(C#)
- 一个简单的TCP客户端、服务端会话程序(C#)
- tcp服务端和客户端交互
- 简单TCP服务端和客户端
- TCP服务端和客户端(7)
- TCP服务端和客户端(8)
- TCP服务端和客户端(9)
- TCP服务端和客户端测试
- 【python】tcp网络程序-客户端/服务端
- Java基础---Java---网络编程---TCP的传输、客户端和服务端的互访、建立一个文本转换器、编写一个聊天程序
- VC面向对象的方式 写一个基于TCP的 客户端服务端程序 (SOCKET)
- 用 TCP 协议写一个客户端和一个服务端,实现上传文件
- uva 592 Island of Logic (搜索)
- C++一些基本的内存释放模板
- IIS + ActivePerl + CGI 环境搭建
- win7 主机 vmware ubuntu 共享文件夹
- 用到的一些颜色常量
- 一个TCP 服务端和客户端程序
- #Qt学习记录2#Qt Creator 在ubuntu 13.04下的配置
- gtm模块
- 20130804
- VS2010无法删除“继承的值”问题解决方案
- ubuntu12.04 源
- 变量的练习
- chmod 命令
- Thinking in Java [Java编程机制] 学习笔记 -- 初始化顺序Order of initialization