Linux??Socket???
???????????? ???????[ 2015/11/10 11:21:05 ] ??????????????
????Socket??????
????????????е?????????socket??????????????????"Hello?? you are connected!"????????????????и÷???????????????????п?????????????????????????
?????÷???????????????£?
#include
#include
#include
#include
#include
#include
#include
#include
#define SERVPORT 3333 /*?????????????? */
#define BACKLOG 10 /* ?????????????? */
main()
{
int sockfd??client_fd; /*sock_fd??????socket??client_fd?????????socket */
struct sockaddr_in my_addr; /* ?????????? */
struct sockaddr_in remote_addr; /* ?????????? */
if ((sockfd = socket(AF_INET?? SOCK_STREAM?? 0)) == -1) {
perror("socket?????????"); exit(1);
}
my_addr.sin_family=AF_INET;
my_addr.sin_port=htons(SERVPORT);
my_addr.sin_addr.s_addr = INADDR_ANY;
bzero(&(my_addr.sin_zero)??8);
if (bind(sockfd?? (struct sockaddr *)&my_addr?? sizeof(struct sockaddr)) == -1) {
perror("bind?????");
exit(1);
}
if (listen(sockfd?? BACKLOG) == -1) {
perror("listen?????");
exit(1);
}
while(1) {
sin_size = sizeof(struct sockaddr_in);
if ((client_fd = accept(sockfd?? (struct sockaddr *)&remote_addr?? &sin_size)) == -1) {
perror("accept????");
continue;
}
printf("received a connection from %s "?? inet_ntoa(remote_addr.sin_addr));
if (!fork()) { /* ????????? */
if (send(client_fd?? "Hello?? you are connected! "?? 26?? 0) == -1)
perror("send?????");
close(client_fd);
exit(0);
}
close(client_fd);
}
}
}
???????????????????????????????????socket???????????Socket????????bind????????????????????????????????????? listen???????socket?????????accpet????????????????????????????????μ?socket???????????????????IP?????????? ?μ?socket??????????????"Hello??you are connected!"???????socket??
????????????е?fork()????????????????????????????????fork()?????????????????0?????????fork??????if????????????????????if????????????????????????е??
??????????????????£?
#include
#include
#include
#include
#include
#include
#include
#include
#define SERVPORT 3333
#define MAXDATASIZE 100 /*??δ?????????? */
main(int argc?? char *argv[]){
int sockfd?? recvbytes;
char buf[MAXDATASIZE];
struct hostent *host;
struct sockaddr_in serv_addr;
if (argc < 2) {
fprintf(stderr??"Please enter the server"s hostname! ");
exit(1);
}
if((host=gethostbyname(argv[1]))==NULL) {
herror("gethostbyname?????");
exit(1);
}
if ((sockfd = socket(AF_INET?? SOCK_STREAM?? 0)) == -1){
perror("socket?????????");
exit(1);
}
serv_addr.sin_family=AF_INET;
serv_addr.sin_port=htons(SERVPORT);
serv_addr.sin_addr = *((struct in_addr *)host->h_addr);
bzero(&(serv_addr.sin_zero)??8);
if (connect(sockfd?? (struct sockaddr *)&serv_addr??
sizeof(struct sockaddr)) == -1) {
perror("connect?????");
exit(1);
}
if ((recvbytes=recv(sockfd?? buf?? MAXDATASIZE?? 0)) ==-1) {
perror("recv?????");
exit(1);
}
buf[recvbytes] = " 主站蜘蛛池模板: 中文字幕日韩精品中文区 | 色网站视频 | 最近2019中文字幕免费看最新 | 手机看片1024精品国产 | 全免费一级毛片在线播放 | 中文字幕一区二区在线观看 | 日韩h视频 | 欧美最新一区二区三区四区 | 成年人国产视频 | 极品嫩模众筹福利写真视频 | 日韩在线免费视频观看 | 国产成人在线视频网站 | 国产亚洲精品影达达兔 | 免费观看一级特黄三大片视频 | 一个人看的www视频免费观看 | 黄色生活毛片 | 国产欧美精品区一区二区三区 | 日韩午夜免费 | 天天精品视频在线观看资源 | 美女又美女又黄又免费网站 | 在线看黄的网站 | 丁香六月综合网 | 国产午夜精品理论片久久影视 | 在线观看永久免费 | 亚州中文字幕 | 国产精品午夜在线播放a | 成年视频国产免费观看 | 一区二区高清在线观看 | 中国一级毛片特级毛片 | 成人免费xxxxx在线视频 | 新神榜哪吒重生免费高清观看 | 最近中文日本字幕免费完整 | aa级黄色片 | 久久这里只有精品免费看青草 | 日产免费自线一二 | 99re免费在线视频 | 成人欧美一区二区三区视频不卡 | free中国性xxxxhd | 夜夜躁日日躁 | 99久久精品毛片免费播放 | 成人毛片免费在线观看 |