If both repos are on your machine, for example you have folders
A/.git
A/client-src
B/.git
B/server-src
simply go to one of them:
cd A
and type:
git remote add repo-b ../B
This creates a symbolic link from repo-a to repo-b ("repo-b" is just a symbolic name, you can choose anything you want)
and then
git fetch repo-b
will combine the two repos. At this point, you will have both histories in one repository, but still in different branches. Branch "master" (the master of the folder you are in) will contain client code. Branch "repo-b/master" will contain the server code.
Then you only have to merge the two:
git merge repo-b/master --allow-unrelated
After this, you will have in Repo A a combined master branch. If you are sure there is no other meaningful information in Repo B (Tags, other branches), you can discard it and continue working with Repo A. Both histories will be intact.
For completeness, you should finally delete the now useless link from Repo-A to Repo-B:
git remote remove repo-b