WordPress multiple widget in single plugin

There is absolutely no problem with registering several widgets inside one file. Widgets are separate classes, and unlike other programming languages, PHP will have no problem with your declaring two classes inside one file.

add_action( 'widgets_init', 'src_load_widgets' );

function src_load_widgets() {
    register_widget( 'Widget_SRC' );
    register_widget( 'Widget_Rank ' );
}

class Widget_SRC extends WP_Widget {
    // ...
}

class Widget_Rank extends WP_Widget {
    // ...
}