Функция strlen
предназначена для получения длины строки с нулевым символом в конце .
Чтобы получить полный размер массива, вам нужно использовать оператор sizeof
:
int bytes_rcvd = recv(otherfd, rcvdmessage, sizeof rcvdmessage, 0);
// ^^^^^^
Также обратите внимание, что если данные, отправленные вашим коллегой, действительно не равны нулю, завершается, затем использование strlen
в вызове send
также неверно. Используйте размер полученных данных, заданный функцией recv
:
int bytes_sent = send(otherfd, rcvdmessage, bytes_rcvd, 0);
// ^^^^^^^^^^
Тогда для вашей задачи, в то время как вышеизложенное решит ее, вы должны помнить, что неинициализированные «автоматические» переменные (локальные не переменные) останутся неинициализированными. Их значения или содержимое будут неопределенными и кажутся случайными.
Правильный способ «заменить» локальную переменную внутри цикла - это то, что вы делаете, просто определите, где вы уже делаете. Кажется, что он содержит старые данные из-за неопределенной части и происходит потому, что компилятор достаточно умен, чтобы использовать одну и ту же память при каждой итерации.
То, что Вы хотите исследовать, плагин зависимости Знатока . Добавьте что-то подобное следующему к pom.xml:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<configuration>
<outputDirectory>
${project.build.directory}
</outputDirectory>
</configuration>
</plugin>
Затем работает mvn clean dependency:copy-dependencies
для копирования, выполняют копию. Объедините это с плагин блока , и можно упаковать все в сам содержавший архив для распределения.
Еще один - appassembler плагин
, Что я люблю, приблизительно случается так, что он упаковывает приложение в форме, готовой использовать (с .bat ответом файла такой)
Это верная банка. Необходимо использовать плагин оттенка , который может быть сделан путем добавления
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>1.3-SNAPSHOT</version>
<configuration>
<!-- put your configurations here -->
</configuration>
</plugin>
к проекту.