⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 client.c

📁 linux下SOCKET编写程序事例,已经验证过了的
💻 C
字号:
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <stdio.h>
#include <unistd.h>

int main(void)
{
	int sock_mms;
	FILE* fp_mms;
	int num;
	char buf_mms[1024];
	struct sockaddr_in      saddr;
	struct stat stbuf;
	
	printf("send_mms 111\n");
	if( (sock_mms = socket(AF_INET,SOCK_STREAM, 0)) == -1)
	{
		printf("Create sock fail!\n");
		return -1;
	}
	printf("send_mms 2222\n");
	bzero(&saddr,sizeof(saddr)); 
	saddr.sin_family        = AF_INET;
    saddr.sin_addr.s_addr   = inet_addr("192.168.10.76");
    saddr.sin_port          = htons(6677);	
    printf("send_mms 3333\n");    
    if(connect(sock_mms,(struct sockaddr *)(&saddr),sizeof(struct sockaddr)) == -1) 
	{ 
		printf("Connect Error\a\n"); 
		return -1;
	}
	if( stat("./client.c", &stbuf) < 0)
	{
		printf("open picture of mms fail!\n");
		return -1;
	}
    if( (fp_mms = fopen("./client.c", "rb")) == NULL)
	{
		printf("open picture of mms fail!\n");
		return -1;
	}
	memset(buf_mms, 0, 1024);
	sprintf(buf_mms, "sendmmsmsg\r\n%s\r\n%s\r\n%d\r\n", "13911111111", "image/gif", stbuf.st_size);
	printf("send_mms 6666\n");
	send(sock_mms, buf_mms, strlen(buf_mms), 0);
	printf("send_mms 444\n");

	while(!feof(fp_mms))
	{
		printf("111111\n");
		memset(buf_mms, 0, 1024);
		if( (num = fread(buf_mms, 1, 1024, fp_mms)) < 0)
		{
			printf("read picture file error!\n");
			fclose(fp_mms);
			close(sock_mms);
			return -1;
		}	
		printf("num = %d\n", num);
		send(sock_mms, buf_mms, num, 0);
	}
	printf("send_mms 555\n");
	fclose(fp_mms);
	close(sock_mms);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -