当前位置:   article > 正文

【Server】Socket编程原理详解_serversocket原理

serversocket原理

这篇文章将对一个简单的socket例程进行剖析。

代码

这里提供的例子就是一个简单的TCP client/server程序,client主动连接server,并从服务器中得到一条欢迎消息:“[server] welcome client!”。程序的流程参考如下:


参考代码如下:

server端:

  1. #include <sys/socket.h>
  2. #include <netinet/in.h>
  3. #include <arpa/inet.h>
  4. #include <stdio.h>
  5. #include <stdlib.h>
  6. #include <unistd.h>
  7. #include <errno.h>
  8. #include <string.h>
  9. #include <sys/types.h>
  10. int main(void)
  11. {
  12. int listenfd = 0,connfd = 0;
  13. struct sockaddr_in serv_addr;
  14. char sendBuff[1025];
  15. listenfd = socket(AF_INET, SOCK_STREAM, 0);
  16. memset(&serv_addr, '0', sizeof(serv_addr));
  17. memset(sendBuff, '0', sizeof(sendBuff));
  18. serv_addr.sin_family = AF_INET;
  19. serv_addr.sin_addr.s_addr = htonl(INADDR_ANY);
  20. serv_addr.sin_port = htons(55555);
  21. bind(listenfd, (struct sockaddr*)&serv_addr,sizeof(serv_addr));
  22. printf("server start successfully!\n");
  23. if(listen(listenfd, 10) == -1){
  24. printf("Failed to listen\n");
  25. return -1;
  26. }
  27. while(1) {
  28. connfd = accept(listenfd, (struct sockaddr*)NULL ,NULL); // accept awaiting request
  29. strcpy(sendBuff, "[server] welcome client!");
  30. write(connfd, sendB
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/146791
推荐阅读
相关标签
  

闽ICP备14008679号