#include <stdio.h>
#include <netinet/in.h>
#include <strings.h>
#include <sys/socket.h>
#include <unistd.h>
void main(void)
{
int port = 12345;
int serverSocket = socket(AF_INET, SOCK_STREAM, 0);
if (serverSocket == -1) {
printf("Error: Failed to create a socket.\n");
return;
}
int opt = 1;
if (setsockopt(serverSocket, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(int)) != 0) {
printf("Error: Failed to set socket option.\n");
return;
}
struct sockaddr_in serverAddr;
bzero(&serverAddr, sizeof(serverAddr));
serverAddr.sin_family = AF_INET;
serverAddr.sin_port = htons(port);
if (bind(serverSocket, (struct sockaddr *) &serverAddr, sizeof(serverAddr)) == -1) {
printf("Error: Failed to bind.\n");
return;
}
if (listen(serverSocket, SOMAXCONN) == -1) {
printf("Error: Failed to listen.\n");
return;
}
printf("Ready to accept.\n");
struct sockaddr_in clientAddr;
int length = sizeof(clientAddr);
int clientSocket = accept(serverSocket, (struct sockaddr *) &clientAddr, &length);
char buffer256;
ssize_t readSize = recv(clientSocket, buffer, 256, 0);
ssize_t writtenSize = send(clientSocket, "test", 4, 0);
close(clientSocket);
close(serverSocket);
}
TCP/IP ソケット通信(サーバ側)トラックバックはありません。トラックバックURL: http://numata.designed.jp/mt-tb.cgi/43 |
コメントを書く