English 中文(简体)
iphone/mac - how to send video file with a socket?
原标题:

My program (iphone app) consists of 2 parts - A server socket (sits on port 3490) running on a different thread, and a client to test the server. The server has a video file, and I want to send it to the client upon request. This I do like this:

int fileDesc = open([viewController.filePath UTF8String], O_RDONLY);

            if (fileDesc == -1) {
                fprintf(stderr, "unable to open  %s : %s
", [viewController.filePath UTF8String], strerror(errno));
                exit(1);
            }

            off_t offset = 0;
            off_t len = 0;
            struct sf_hdtr headers;
            headers.headers = NULL;
            headers.trailers = NULL;
            if (sendfile (fileDesc, new_fd, offset, &len, NULL, 0) == -1){
                perror("send");
            }

Now my client calls this like that:

moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL URLWithString:@"http://127.0.0.1:3490/"]];
    [moviePlayer play];

Now comes the weird part. In the simulator it is not played properly (I can hear only the audio - no video), and on the device it doesn t work at all. It also says: MPMoviePlayerController may not support file of type

So then I decieded to investigate and tried to use NSURLConnection to download the file. In the didReceiveResponse method I get that [response expectedContentLength] is -1 and [response suggestedFilename] is 127.0.0.1.dms.

BTW I tried to display a pdf from this server with this method on a UIWebView and it worked.

Thanks

Alex


问题回答

暂无回答




相关问题
2 mysql instances in MAC

i recently switched to mac. first and foremost i installed xampp. then for django-python-mysql connectivity, i "somehow" ended up installing a seperate MySQL. now the seperate mysql installation is ...

Iterating over string/strlen with umlauted characters

This is a follow-up to my previous question . I succeeded in implementing the algorithm for checking umlauted characters. The next problem comes from iterating over all characters in a string. I do ...

Controlling OSX windows

I m trying to control windows of a foreign OSX applications from my application. I d like to 1. move the windows on the screen 2. resize the windows on the screen 3. change the currently active window ...

Switching J2SE versions on Mac OS (SnowLeopard)

My current JDK on Mac OS (10.6) is set to 1.6 and I d like to switch to 1.5. A listing of /System/Library/Frameworks/JavaVM.framework/Versions/ shows: lrwxr-xr-x 1 root wheel 10 Nov 3 18:34 ...

Scrolling inside Vim in Mac s Terminal

I ve been googling around trying to figure out if it s possible to use my mouse wheel to scroll while inside Vim in Mac s Terminal, with no luck. It seems as if only X11 or iTerm support this. Before ...

export to MP3 from quicktime API

A question for Apple,QT programmers. Would like to know if it s possible to export a Movie object to MP3 using the QuickTime API. Preferably the ConvertMovieToFile function. I ve looked at ...

热门标签