Реализован сервер на сокетах Беркли.
This commit is contained in:
		
							parent
							
								
									bde0cab650
								
							
						
					
					
						commit
						a7a5c4963b
					
				
							
								
								
									
										25
									
								
								BerklySocketServer/BerklySocketServer.sln
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								BerklySocketServer/BerklySocketServer.sln
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,25 @@ | ||||
|  | ||||
| Microsoft Visual Studio Solution File, Format Version 12.00 | ||||
| # Visual Studio Version 17 | ||||
| VisualStudioVersion = 17.9.34728.123 | ||||
| MinimumVisualStudioVersion = 10.0.40219.1 | ||||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CyberSystem", "CyberSystem\CyberSystem.csproj", "{732F06D2-F9CE-40A3-8281-48D7A41E0F79}" | ||||
| EndProject | ||||
| Global | ||||
| 	GlobalSection(SolutionConfigurationPlatforms) = preSolution | ||||
| 		Debug|Any CPU = Debug|Any CPU | ||||
| 		Release|Any CPU = Release|Any CPU | ||||
| 	EndGlobalSection | ||||
| 	GlobalSection(ProjectConfigurationPlatforms) = postSolution | ||||
| 		{732F06D2-F9CE-40A3-8281-48D7A41E0F79}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||||
| 		{732F06D2-F9CE-40A3-8281-48D7A41E0F79}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||||
| 		{732F06D2-F9CE-40A3-8281-48D7A41E0F79}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||||
| 		{732F06D2-F9CE-40A3-8281-48D7A41E0F79}.Release|Any CPU.Build.0 = Release|Any CPU | ||||
| 	EndGlobalSection | ||||
| 	GlobalSection(SolutionProperties) = preSolution | ||||
| 		HideSolutionNode = FALSE | ||||
| 	EndGlobalSection | ||||
| 	GlobalSection(ExtensibilityGlobals) = postSolution | ||||
| 		SolutionGuid = {784A31B7-FBD3-428B-B0DB-459BC6F59E16} | ||||
| 	EndGlobalSection | ||||
| EndGlobal | ||||
							
								
								
									
										6
									
								
								BerklySocketServer/CyberSystem/App.config
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								BerklySocketServer/CyberSystem/App.config
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,6 @@ | ||||
| <?xml version="1.0" encoding="utf-8" ?> | ||||
| <configuration> | ||||
|     <startup>  | ||||
|         <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" /> | ||||
|     </startup> | ||||
| </configuration> | ||||
							
								
								
									
										53
									
								
								BerklySocketServer/CyberSystem/CyberSystem.csproj
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								BerklySocketServer/CyberSystem/CyberSystem.csproj
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,53 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||||
|   <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> | ||||
|   <PropertyGroup> | ||||
|     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> | ||||
|     <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> | ||||
|     <ProjectGuid>{732F06D2-F9CE-40A3-8281-48D7A41E0F79}</ProjectGuid> | ||||
|     <OutputType>Exe</OutputType> | ||||
|     <RootNamespace>CyberSystem</RootNamespace> | ||||
|     <AssemblyName>CyberSystem</AssemblyName> | ||||
|     <TargetFrameworkVersion>v4.8</TargetFrameworkVersion> | ||||
|     <FileAlignment>512</FileAlignment> | ||||
|     <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> | ||||
|     <Deterministic>true</Deterministic> | ||||
|   </PropertyGroup> | ||||
|   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> | ||||
|     <PlatformTarget>AnyCPU</PlatformTarget> | ||||
|     <DebugSymbols>true</DebugSymbols> | ||||
|     <DebugType>full</DebugType> | ||||
|     <Optimize>false</Optimize> | ||||
|     <OutputPath>bin\Debug\</OutputPath> | ||||
|     <DefineConstants>DEBUG;TRACE</DefineConstants> | ||||
|     <ErrorReport>prompt</ErrorReport> | ||||
|     <WarningLevel>4</WarningLevel> | ||||
|   </PropertyGroup> | ||||
|   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> | ||||
|     <PlatformTarget>AnyCPU</PlatformTarget> | ||||
|     <DebugType>pdbonly</DebugType> | ||||
|     <Optimize>true</Optimize> | ||||
|     <OutputPath>bin\Release\</OutputPath> | ||||
|     <DefineConstants>TRACE</DefineConstants> | ||||
|     <ErrorReport>prompt</ErrorReport> | ||||
|     <WarningLevel>4</WarningLevel> | ||||
|   </PropertyGroup> | ||||
|   <ItemGroup> | ||||
|     <Reference Include="System" /> | ||||
|     <Reference Include="System.Core" /> | ||||
|     <Reference Include="System.Xml.Linq" /> | ||||
|     <Reference Include="System.Data.DataSetExtensions" /> | ||||
|     <Reference Include="Microsoft.CSharp" /> | ||||
|     <Reference Include="System.Data" /> | ||||
|     <Reference Include="System.Net.Http" /> | ||||
|     <Reference Include="System.Xml" /> | ||||
|   </ItemGroup> | ||||
|   <ItemGroup> | ||||
|     <Compile Include="Server.cs" /> | ||||
|     <Compile Include="Properties\AssemblyInfo.cs" /> | ||||
|   </ItemGroup> | ||||
|   <ItemGroup> | ||||
|     <None Include="App.config" /> | ||||
|   </ItemGroup> | ||||
|   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> | ||||
| </Project> | ||||
							
								
								
									
										36
									
								
								BerklySocketServer/CyberSystem/Properties/AssemblyInfo.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								BerklySocketServer/CyberSystem/Properties/AssemblyInfo.cs
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,36 @@ | ||||
| using System.Reflection; | ||||
| using System.Runtime.CompilerServices; | ||||
| using System.Runtime.InteropServices; | ||||
| 
 | ||||
| // General Information about an assembly is controlled through the following | ||||
| // set of attributes. Change these attribute values to modify the information | ||||
| // associated with an assembly. | ||||
| [assembly: AssemblyTitle("CyberSystem")] | ||||
| [assembly: AssemblyDescription("")] | ||||
| [assembly: AssemblyConfiguration("")] | ||||
| [assembly: AssemblyCompany("")] | ||||
| [assembly: AssemblyProduct("CyberSystem")] | ||||
| [assembly: AssemblyCopyright("Copyright ©  2024")] | ||||
| [assembly: AssemblyTrademark("")] | ||||
| [assembly: AssemblyCulture("")] | ||||
| 
 | ||||
| // Setting ComVisible to false makes the types in this assembly not visible | ||||
| // to COM components.  If you need to access a type in this assembly from | ||||
| // COM, set the ComVisible attribute to true on that type. | ||||
| [assembly: ComVisible(false)] | ||||
| 
 | ||||
| // The following GUID is for the ID of the typelib if this project is exposed to COM | ||||
| [assembly: Guid("732f06d2-f9ce-40a3-8281-48d7a41e0f79")] | ||||
| 
 | ||||
| // Version information for an assembly consists of the following four values: | ||||
| // | ||||
| //      Major Version | ||||
| //      Minor Version | ||||
| //      Build Number | ||||
| //      Revision | ||||
| // | ||||
| // You can specify all the values or you can default the Build and Revision Numbers | ||||
| // by using the '*' as shown below: | ||||
| // [assembly: AssemblyVersion("1.0.*")] | ||||
| [assembly: AssemblyVersion("1.0.0.0")] | ||||
| [assembly: AssemblyFileVersion("1.0.0.0")] | ||||
							
								
								
									
										49
									
								
								BerklySocketServer/CyberSystem/Server.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								BerklySocketServer/CyberSystem/Server.cs
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,49 @@ | ||||
| using System; | ||||
| using System.Net; | ||||
| using System.Net.Sockets; | ||||
| using System.Text; | ||||
| 
 | ||||
| public class Server | ||||
| { | ||||
|     public static void Main() | ||||
|     { | ||||
|         // Настройка IP-адреса сервера и номера порта. | ||||
|         var serverAddress = IPAddress.Parse("127.0.0.7"); | ||||
|         var serverPort = 8000; | ||||
| 
 | ||||
|         // Создаем наш серверный сокет. | ||||
|         var serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); | ||||
| 
 | ||||
|         // Привязка сокета. | ||||
|         serverSocket.Bind(new IPEndPoint(serverAddress, serverPort)); | ||||
| 
 | ||||
|         // Сервер прослушивает соединения. | ||||
|         serverSocket.Listen(5); | ||||
|         Console.WriteLine("Сервер прослушивает соединения..."); | ||||
| 
 | ||||
|         while (true) | ||||
|         { | ||||
|             // Принятие клиентского соединения. | ||||
|             var clientSocket = serverSocket.Accept(); | ||||
|             Console.WriteLine("Клиент подключен!"); | ||||
| 
 | ||||
|             // Получение сообщения от клиента. | ||||
|             var temp = new byte[1024]; | ||||
|             var clientBytes = clientSocket.Receive(temp); | ||||
|             var clientMessage = Encoding.ASCII.GetString(temp, 0, clientBytes); | ||||
|             Console.WriteLine("Получены данные от клиента: " + clientMessage); | ||||
| 
 | ||||
|             // Обработка и отправка клиенту новых данных.  | ||||
| 
 | ||||
|             // Отправка сообщения обратно клиенту. | ||||
|             //var serverMessage = "Hello, client!"; | ||||
|             //var messageBytes = Encoding.ASCII.GetBytes(serverMessage); | ||||
|             //clientSocket.Send(messageBytes); | ||||
| 
 | ||||
|             // Закрытие соединения. | ||||
|             clientSocket.Shutdown(SocketShutdown.Both); | ||||
|             clientSocket.Close(); | ||||
|         } | ||||
|     } | ||||
| } | ||||
| 
 | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user