소켓프로그래밍 예제

다른 컴퓨터에 연결하려면 소켓 연결이 필요합니다. 소켓 연결은 두 컴퓨터가 서로의 네트워크 위치(IP 주소) 및 TCP 포트에 대한 정보를 가지고 있는 것을 의미합니다. java.net.Socket 클래스는 소켓을 나타냅니다. 소켓을 여는 방법: 이 예제 응용 프로그램의 경우 클라이언트와 서버가 사용할 메시지 유형에 대한 아이디어를 생각해 야 했습니다. 우리는 이 시점에서 장난감 에코 클라이언트와 서버를 훨씬 넘어섭습니다. c의 “기본”소켓 프로그래밍을 이해하는 기초에 대한 훌륭한 기사, 이 코드를 사용하지 않는 것이 좋습니다, 나는이 데모 이외의 다른 아무것도 코드를 사용할 수 없게 만드는 몇 가지 문제를 우연히 만났다. 컨텍스트의 경우 이 섹션은 루프백 인터페이스 “localhost”를 사용하려는 경우 주로 hostname with bind() 및 connect(connect)) 또는 connect_ex()를 사용하는 경우에 적용됩니다. 그러나 호스트 이름을 사용할 때마다 적용되며 특정 주소로 해결하고 해당 동작이나 가정에 영향을 주는 응용 프로그램에 특별한 의미를 가질 것으로 예상됩니다. 이는 호스트 이름을 사용하여 www.example.com 같이 DNS에서 해결한 서버에 연결하는 클라이언트의 일반적인 시나리오와 는 대조적입니다. 때로는 소스 코드에 대한 것이 아닙니다. 소스 코드가 올바르고 다른 호스트, 클라이언트 또는 서버일 뿐입니다. 또는 네트워크, 예를 들어 라우터, 방화벽 또는 중간에서 맨인 을 재생하는 다른 네트워킹 장치일 수 있습니다.

sys.byteorder를 사용하여 컴퓨터의 바이트 순서를 쉽게 확인할 수 있습니다. 예를 들어 인텔 랩톱에서 다음과 같은 섹션을 읽고 예제를 실행하고 코드를 실험한 후 작동 방식을 확인할 수 있습니다. 그런 다음 Message 클래스를 시작점으로 사용하여 사용자 고유의 용도로 수정할 수 있습니다. IPv6를 활성화하지 않은 경우 시스템에서 결과가 다를 수 있습니다. 위에 반환된 값은 socket.socket() 및 socket.connect()에 전달하여 사용할 수 있습니다. 파이썬의 소켓 모듈 설명서의 예제 섹션에는 클라이언트 및 서버 예제가 있습니다. 상기 실시예에서 memset(recvBuff, `0`, sizeof(recvBuff)); 문자열에 0의 부하를 넣습니다. 바인딩()에 전달된 값은 소켓의 주소 패밀리에 따라 다릅니다. 이 예제에서는 socket.AF_INET(IPv4)를 사용합니다.

그래서 그것은 2 튜플을 기대합니다 : (호스트, 포트). 소켓과 소켓 API는 네트워크를 통해 메시지를 보내는 데 사용됩니다. 그들은 프로세스 간 통신 (IPC)의 형태를 제공합니다.