.NET 4.x Кодировка данных для передачи по TCP/IP - C#
Формулировка задачи:
Здравствуйте!! Тут недавно начал делать сервер, и что делает этот сервер, он принимает команды разного рода, типа "user get USER_NAME" и т.д. И пытался принимать фото, но как это сделать в одной программе-сервер не представляю, сперва пришла идея сделать так, разделять фото на на части, то есть 1024 байтов, в них добавить слово типа "<IMAGE>", чтобы сервер понял, что это фото, и дальше с каждой частью буду получать, как не получу закрывающий тэг, ну как бы все хорошо, но почему то часть данных пропадают и картинка выходит не "красивой".. Как я понял беда в кириллице, ее там нет, то есть в в оригинале, в некоторых частях есть буквы в кириллице, а в полученной ее нет.. Данные кодировал в base64, есть ли у кого какие идеи, благодарен за любую помощь!!
Решение задачи: «.NET 4.x Кодировка данных для передачи по TCP/IP»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;
[ServiceContract]
public interface IGameService {
/// <summary>
/// Получение списка всех пользователей
/// </summary>
/// <returns>Список пользователей</returns>
[OperationContract]
UserInfo[] GetUsers();
/// <summary>
/// Получение пользователя по Id
/// </summary>
/// <param name="userId">Id пользователя</param>
/// <returns>Данные пользователя</returns>
[OperationContract]
UserInfo GetUserById(int userId);
/// <summary>
/// Получение списка изображений по Id пользователя
/// </summary>
/// <param name="userId">Id пользователя</param>
/// <returns>Список изображений</returns>
[OperationContract]
ImageInfo[] GetImagesByUserId(int userId);
/// <summary>
/// Добавление нового пользователя
/// </summary>
/// <param name="user">Пользователь</param>
[OperationContract]
void AddUser(UserInfo user);
/// <summary>
/// Удаление пользователя
/// </summary>
/// <param name="userId">Id пользователя</param>
[OperationContract]
void DeleteUser(int userId);
/// <summary>
/// Изменение статуса пользователя
/// </summary>
/// <param name="userId">Id пользователя</param>
/// <param name="state">Статус пользователя</param>
[OperationContract]
void ChangeUserState(int userId, UserState state);
/// <summary>
/// Загрузка изображения в БД
/// </summary>
/// <param name="user">Пользователь</param>
/// <param name="image">Изображение</param>
[OperationContract]
void LoadImage(UserInfo user, ImageInfo image);
}