|
我现在要在局域网上传输JPG图片,我试图用TCP/IP实现。我知道传输字符串的传输方法(摘自《GNU/Linux编程指南》),程序如下(只取其中的关键段,相关套接口在此省略):
/*
*server.c
*/
void main()
{
char buf[20480];
...................
if (recv(temp_sock_descriptor,buf,20480,0) == -1) {
perror("call to recv");
exit(1);
}
printf("received from client:%s\n",buf); // 语句( 1 )
..................
/*
*client.c
*/
void main(int argc, char *argv[])
{
char * str;
.................
str = argv[1];
printf("Sending message %s to server...\n", str); // 语句( 2 )
if (send(socket_descriptor,str,strlen(str),0) == -1)
{
perror("Error in send\n");
exit(1);
}
..................
程序运行情况如下:
# ./server
received from client:This is test data to send to the server.
# ./cient "This is test data to send to the server."
显然,它传递的是字符串。我现在要把传递参数改为JPG文件,比如:
# ./cient "meimei.jpg"
并且要在服务器端保存该文件,且文件名为客户端所传递的参数(如"meimei.jpg")。
这必然要修改 语句( 1 )和 语句( 2 )。我已尝试了很多次文件的读写(fopen,fwrite等等),但还是没能实现!
恳请各位高手助我一臂之力,小弟在此感激不尽!!!
============================== |
|