程序代码经过了优化,并且整合多线程,把接收和发送放到同一个文件中,使用参数模式调用发送和接收模块。增加了创建SOCKET的创建的时候s句柄(或对象)判断返回值是否为INVALID_SOCKET,以及socket的bind操作的返回值是否为SOCKET_ERROR,其他socket的操作应该也判断SOCKET_ERROR,以保证程序的稳定性,这里只是测试代码就不去写这么多了,剩下的就由你个人发挥。
- #include <Winsock2.h> #pragma comment(lib,"Ws2_32.lib")
- #include <stdio.h> #include <memory.h>
- #include <string.h> #include <pthread.h>
- void Receive(); void Send();
- void creatThread();
- SOCKET s =NULL; pthread_t t[1000];
- int threadCount=0;
- void main(int argc,char* argv[]) {
- printf("本程序制作人学号:713901040041n"); printf("程序说明:服务器端和客户端为同一个程序,请使用不同的参数运行.n");
- printf("接收程序请使用 r参数;发送程序请使用 s参数。n"); //printf("len : %dn", argc);
- //printf("count %dn",argc); //printf("value: %sn",argv[1]);
- //printf("%d",argv[1][0]=='r');
- if(argc<=1) {
- printf("please input program arguments ...n"); exit(0);










