2014-10-14 3 views
0

Я хочу отправить строку последовательно на сервер со списком команд. Каждая команда разделяется символом «#». Так что, если я, например, иметь эту строку:Отправить строку последовательно от клиента к серверу

«Go # груз»

Как я могу послать первую команду «Go», пусть это выполнить, а затем отправить следующую команду, пока строка не закончится?

Очевидно, я не могу разделить строку на три строки. и у меня нет кода сервера. Может быть, я могу использовать foreach с расколом?

+0

Ну что протокол? Все зависит от этого - и мы в принципе ничего не знаем об этом на данный момент. Что вы подразумеваете под «очевидным я не могу разделить строку в три строки» - почему бы и нет? –

+0

Я имею в виду, что я не могу это сделать: string hi = "Go"; строка hi2 = "load". Очевидно, я могу использовать функцию строки «split», если она когда-либо может служить. Вы имели в виду сетевой протокол? Если вы имели в виду это, протокол woluld должен быть TCP. –

+1

Что вы подразумеваете под «если когда-либо это может случиться»? И есть протокол приложений поверх TCP, но мы до сих пор не знаем, что это такое. Как вы указываете в протоколе, что вы достигли конца команды? –

ответ

1

Примечание очень ясно, что вы пытаетесь acheve точно, но вы можете сделать что-то вроде для одного случая (только sniplet):

var str = "Go#load"; 
var curindex = 0; 
var index = str.IndexOf("#"); 
var command = str.Substring(curIndex, index); 
curindex = index; 

Для полной функции взгляда на Finding ALL positions of a substring in a large string in C#

Используя те, вы найдете все вхождения символа «#» в строке, а все между ними - command, в соответствии с вашим описанием.

+0

@ Luaan: Вопрос гласит, что у него есть строка и она готова отправить ее без выполнения split. – Tigran

0

Вы можете разбить строку, как это:

 var input = "Go#load"; 
     var list = input.Split('#'); 

Теперь у вас есть список команд и цикл по каждому элементу можно назвать код сервера

 foreach (var item in list) 
     { 
      // call the server and pass the item 
     } 
Смежные вопросы