Как установить размер буфера Android TCP
Я написал программу сокетов в c. Эта программа будет отправлять данные с моего телефона Android на мой компьютер. Вот что мне нужно, я хочу увеличить размер буфера данных до большего, чтобы я мог отправлять большие данные. Я использовал системный вызов setsockopt() для увеличения размера буфера tcp. Но мой андроид не позволяет мне увеличить размер за 4096 байт. После я вставил свой серверный код. Нужна помощь
int listenfd = 0;
//Create a socket
if((listenfd = socket(AF_INET, SOCK_STREAM, 0))==-1)
{
printf("\n Could not create socket..");
return -1;
}
sock_buf_size=8192;
setsockopt( listenfd, SOL_SOCKET, SO_SNDBUF,(char *)&sock_buf_size , sizeof(sock_buf_size));
setsockopt( listenfd, SOL_SOCKET, SO_RCVBUF,(char *)&sock_buf_size , sizeof(sock_buf_size));
serv_addr.sin_family = AF_INET;
serv_addr.sin_addr.s_addr = INADDR_ANY;
serv_addr.sin_port = htons(8888);
// sock_buf_size = SOCKET_BUFF_SZ;
//Binding the socket
if(bind(listenfd, (struct sockaddr*)&serv_addr, sizeof(serv_addr)) == -1 )
printf("\nBind failed ");
else puts("\nBind done");
//Listen to incoming connections
listen(listenfd, 5);
//Accept an incoming connection
puts("\nWaiting for incoming connections...");
c = sizeof(struct sockaddr_in);
connfd = accept(listenfd, (struct sockaddr*)&client, &c);
if((RcvdByteCnt = recv(connfd ,pSendBuff , BuffLength, 0)) != -1)
{
printf("\n Revived Byte->%d",RcvdByteCnt );
}