Java does not suppport DGRAM sockets
This commit is contained in:
parent
965e3d18c8
commit
ea4ef1d8b3
2 changed files with 12 additions and 19 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -89,3 +89,4 @@ clion*
|
||||||
/CUDSClient/cmake-build-debug/CMakeFiles/3.30.5/CMakeDetermineCompilerABI_C.bin
|
/CUDSClient/cmake-build-debug/CMakeFiles/3.30.5/CMakeDetermineCompilerABI_C.bin
|
||||||
/CUDSClient/cmake-build-debug/CMakeFiles/TargetDirectories.txt
|
/CUDSClient/cmake-build-debug/CMakeFiles/TargetDirectories.txt
|
||||||
/CUDSClient/cmake-build-debug/CMakeFiles/CMakeConfigureLog.yaml
|
/CUDSClient/cmake-build-debug/CMakeFiles/CMakeConfigureLog.yaml
|
||||||
|
*.c.o
|
||||||
|
|
|
@ -11,29 +11,21 @@ int main(void) {
|
||||||
server_addr.sun_family = AF_UNIX;
|
server_addr.sun_family = AF_UNIX;
|
||||||
strcpy(server_addr.sun_path, SERVER_SOCK_FILE); // XXX: should be limited to about 104 characters, system dependent
|
strcpy(server_addr.sun_path, SERVER_SOCK_FILE); // XXX: should be limited to about 104 characters, system dependent
|
||||||
|
|
||||||
struct sockaddr_un client_addr = {};
|
|
||||||
client_addr.sun_family = AF_UNIX;
|
|
||||||
strcpy(client_addr.sun_path, CLIENT_SOCK_FILE);
|
|
||||||
|
|
||||||
// get socket
|
// get socket
|
||||||
int sockfd = socket(AF_UNIX, SOCK_DGRAM, 0);
|
int sockfd = socket(AF_UNIX, SOCK_STREAM, 0);
|
||||||
|
|
||||||
// bind client to client_filename
|
if (connect(sockfd, (struct sockaddr *) &server_addr, sizeof(server_addr)) > -1) {
|
||||||
if (bind(sockfd, (struct sockaddr *) &client_addr, sizeof(client_addr)) > 0) {
|
unsigned char messageBuffer[500] = {};
|
||||||
if (connect(sockfd, (struct sockaddr *) &server_addr, sizeof(server_addr)) > 0) {
|
const char* message = "Hello from C";
|
||||||
unsigned char* messageBuffer = malloc(500);
|
size_t messageLengthInBytes = strlen(message);
|
||||||
memset(messageBuffer, 0, 500);
|
messageBuffer[0] = messageLengthInBytes;
|
||||||
const char* message = "Hello from C";
|
// Lucky for us the message just happens to be compatible with UTF-8 encoding
|
||||||
size_t messageLengthInBytes = strlen(message);
|
strcpy((char *)messageBuffer+1, message);
|
||||||
messageBuffer[0] = messageLengthInBytes;
|
send(sockfd, messageBuffer, messageLengthInBytes+1, 0);
|
||||||
strcpy((char *)messageBuffer+1, message);
|
} else {
|
||||||
send(sockfd, messageBuffer, messageLengthInBytes+1, 0);
|
perror("Unable to connect") ;
|
||||||
free(messageBuffer);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// connect client to server_filename
|
|
||||||
|
|
||||||
|
|
||||||
unlink (CLIENT_SOCK_FILE);
|
unlink (CLIENT_SOCK_FILE);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Add table
Reference in a new issue