资源简介
my_socket是将文件从windows传输到linux,my_socket_verify是将linux下的文件传到windows(因为我只写了单向的,verify只是做了一个验证而已)
代码片段和文件信息
/*************************************************************************
> File Name: main.c (/socket client)
> Author: Clara_Dong
> E-mail: 947641297@qq.com
> Created Time: 2018年03月10日 星期六 21时15分43秒
************************************************************************/
#include
#include
#include
#include
#include
#include
#include
#include
void error(const char *msg)//定义一个指向字符常量的指针msg,*msg的值为const,不能修改
{
perror(msg);//将错误信息输给msg 错误输出函数
exit(0);//程序正常退出
}
int main(int argc char *argv[])
{
int sockfdportnon=-1;
struct sockaddr_in serv_addr;//sockaddr_in结构体把port和addr 分开储存在两个变量中
struct hostent *server;//hostent是host entry的缩写hostent结构体
char buffer[256];
if (argc < 3) {
fprintf(stderr“usage %s hostname port\n“ argv[0]);
exit(0);
}
portno = atoi(argv[2]);
//建立socket套字
sockfd = socket(AF_INET SOCK_STREAM 0);////返回sockfdsockfd是描述符唯一标识一个socket
//AF_INET 是socket的协议族:IPV4;SOCK_STREAM是socket类型;0是指的是protocol指定协议,当protocol为0时,会自动选择type类型对应的默认协议
if (sockfd < 0)
error(“ERROR opening socket“);
server = gethostbyname(argv[1]);
if (server == NULL) {
fprintf(stderr“ERROR no such host\n“);
exit(0);
}
bzero((char *) &serv_addr sizeof(serv_addr));
//初始化ip和port
serv_addr.sin_family = AF_INET;
bcopy((char *)server->h_addr(char *)&serv_addr.sin_addr.s_addrserver->h_length);
serv_addr.sin_port = htons(portno);//htons是将整形变量从主机字节顺序变成网络字节顺序
//connect将socket套接字描述符与服务器端的ip+port联系起来
//调用connect函数
if (connect(sockfd(struct sockaddr *) &serv_addrsizeof(serv_addr)) < 0)
error(“ERROR connecting“);
//建立连接
printf(“Connecting...“);
FILE*fp=fopen(“data.txt““rb“);//以二进制方式打开文件
if(fp == NULL){//检验data.txt文件是否存在
printf(“Cannot open the file check out please.“);
system(“pause“);
exit(0);
}
bzero(buffer256);
int nCount;
while((nCount=fread(buffer1256fp))>0){//fread读取成功返回值为实际读回的数据个数(单位为Byte)
n=write(sockfdbuffernCount);
}
//发送信息
//n = write(sockfdbufferstrlen(buffer));//将buffer里面的整个内容都写到sockfd里面去
if (n < 0)
error(“ERROR writing to socket“);
bzero(buffer256);
//接收回复
n = read(sockfdbuffer255);
if (n < 0)
error(“ERROR reading from socket“);
printf(“%s\n“buffer);
fclose(fp);
//确认通信后关闭socket
close(sockfd);
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-03-11 09:18 my_socket\
目录 0 2018-03-10 21:20 my_socket\client\
文件 292 2017-10-25 16:46 my_socket\client\Makefile
文件 4750 2018-03-10 15:48 my_socket\client\data.txt
文件 3043 2018-03-10 21:16 my_socket\client\main.c
文件 2693 2018-03-10 21:20 my_socket\client\main.o
文件 71150 2018-03-10 21:20 my_socket\client\socket_client.exe
目录 0 2018-03-11 09:08 my_socket\server\
文件 539 2017-10-25 16:46 my_socket\server\Makefile
文件 2234 2018-03-11 09:07 my_socket\server\main.c
文件 7452 2018-03-10 21:20 my_socket\server\main.o
文件 11886 2018-03-10 21:20 my_socket\server\socket_server
目录 0 2018-03-10 18:17 my_socket_verify\
目录 0 2018-03-10 21:23 my_socket_verify\client\
文件 292 2017-10-25 16:46 my_socket_verify\client\Makefile
文件 2778 2018-03-10 21:17 my_socket_verify\client\main.c
文件 2511 2018-03-10 21:23 my_socket_verify\client\main.o
文件 4750 2018-03-10 21:28 my_socket_verify\client\recdata.txt
文件 70766 2018-03-10 21:23 my_socket_verify\client\socket_client.exe
目录 0 2018-03-10 21:24 my_socket_verify\server\
文件 539 2017-10-25 16:46 my_socket_verify\server\Makefile
文件 2269 2018-03-10 21:17 my_socket_verify\server\main.c
文件 7480 2018-03-10 21:24 my_socket_verify\server\main.o
文件 11915 2018-03-10 21:24 my_socket_verify\server\socket_server
相关资源
- windows平台下socket编程之TCP
- PCIe接口高速数据传输卡的驱动开发
- 南方全站仪全系列传输数据
- 315M无线发射接收部分电路图带参数
- 计算机网络实验基于Socket编程
- 华中科技大学计算机网络实验
- 基于LabVIEW的Socket程序设计
- 电网监测系统
- 基于ARM和GPRS的无线数据传输模块的设
- 数字海道测量数据传输标准(S-57)
-
应用socket编程来进行xm
l的传输已经 - UDP十六进制数据传输
- 基于两块430单片机及nrf24l01无线数据传
- 消息封/解装仿真
- H5 蓝牙模块数据传输demo
- HTTPS 数据传输
- 使用socket编程模拟滑动窗口协议
- socket编程 TCP文件的传输实现 客户端和
- 海德汉DNC RemoTools SDK virtual TNC软件接口
- 多核DSP间基于SRIO数据传输的设计与实
- 宾得全站仪数据传输软件
- 基于组播的局域网聊天程序
- 基于UDP的数据传输与基于TCP的简易聊
- Qt利用TCP实现客户端与服务器端的数据
- sht10+bh1750+nrf24l01数据传输
- 网络抢答系统CompetitionResponder(原创)
- 《数字海道测量数据传输标准》(S.
- 专有的高性能无线电力传输
- 基于iNEMO模块的姿态检测及数据传输系
- 人体姿态检测及数据传输系统设计
评论
共有 条评论