用C语言进行最基本的socket编程

2020-01-06 14:04:19于海丽
  • 程序代码经过了优化,并且整合多线程,把接收和发送放到同一个文件中,使用参数模式调用发送和接收模块。增加了创建SOCKET的创建的时候s句柄(或对象)判断返回值是否为INVALID_SOCKET,以及socket的bind操作的返回值是否为SOCKET_ERROR,其他socket的操作应该也判断SOCKET_ERROR,以保证程序的稳定性,这里只是测试代码就不去写这么多了,剩下的就由你个人发挥。

     

     
    1. #include <Winsock2.h>  #pragma comment(lib,"Ws2_32.lib") 
    2. #include <stdio.h>  #include <memory.h> 
    3. #include <string.h>  #include <pthread.h> 
    4.    
    5. void Receive();  void Send(); 
    6. void creatThread();   
    7. SOCKET s =NULL;  pthread_t t[1000]; 
    8. int threadCount=0;   
    9. void main(int argc,char* argv[])  { 
    10. printf("本程序制作人学号:713901040041n");  printf("程序说明:服务器端和客户端为同一个程序,请使用不同的参数运行.n"); 
    11. printf("接收程序请使用 r参数;发送程序请使用 s参数。n");  //printf("len : %dn", argc); 
    12. //printf("count %dn",argc);  //printf("value: %sn",argv[1]); 
    13. //printf("%d",argv[1][0]=='r');   
    14. if(argc<=1)  { 
    15. printf("please input program arguments ...n");  exit(0);