Windows??Linux????socket???
???????????? ???????[ 2013/2/5 14:40:49 ] ????????
????Linux???server????
#include <netinet/in.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define HELLO_WORLD_SERVER_PORT 4000
#define LENGTH_OF_LISTEN_QUEUE 20
#define BUFFER_SIZE 1024
int main(int argc?? char **argv)
{
struct sockaddr_in server_addr;
int server_socket;
int opt = 1;
bzero(&server_addr??sizeof(server_addr));
server_addr.sin_family = AF_INET;
server_addr.sin_addr.s_addr = htons(INADDR_ANY);
server_addr.sin_port = htons(HELLO_WORLD_SERVER_PORT);
/* create a socket */
server_socket = socket(PF_INET??SOCK_STREAM??0);
if( server_socket < 0)
{
printf("Create Socket Failed!");
exit(1);
}
/* bind socket to a specified address*/
setsockopt(server_socket?? SOL_SOCKET?? SO_REUSEADDR?? &opt?? sizeof(opt));
if( bind(server_socket??(struct sockaddr*)&server_addr??sizeof(server_addr)))
{
printf("Server Bind Port : %d Failed!"?? HELLO_WORLD_SERVER_PORT);
exit(1);
}
/* listen a socket */
if(listen(server_socket?? LENGTH_OF_LISTEN_QUEUE))
{
printf("Server Listen Failed!");
exit(1);
}
/* run server */
while (1)
{
struct sockaddr_in client_addr;
int client_socket;
socklen_t length;
char buffer[BUFFER_SIZE];
/* accept socket from client */
length = sizeof(client_addr);
client_socket = accept(server_socket?? (struct sockaddr*)&client_addr?? &length);
if( client_socket < 0)
{
printf("Server Accept Failed!
");
break;
}
/* receive data from client */
while(1)
{
bzero(buffer?? BUFFER_SIZE);
length = recv(client_socket?? buffer?? BUFFER_SIZE?? 0);
if (length < 0)
{
printf("Server Recieve Data Failed!
");
break;
}
if('q' == buffer[0])
{
printf("Quit from client!
");
break;
}
printf("%s
"?? buffer);
}
close(client_socket);
}
close(server_socket);
return 0;
}
????Windows?????????vc6.0??????????Linux????????gccok?????gcc server.c -o server?????????linux??????./server??????Widnows???client?????????Windows??????????????????Linux???????????????????????q???ɡ???????server????????????????????client????????????????????????????
?????????server??client?????????????????????????????????л?????????????????????
??????
???·???
??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???·???????·
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11