Linux下面貌似没有什么直接开启或者关闭端口的命令,因为若仅仅只是开启了端口而不把它与进程相联系的话,端口的开启与关闭就显得毫无意义了(开了端口却没有程序处理进来的数据)。也就是说,Linux里面端口的活动与进程是紧密相连的,如果想要关闭某个端口,那么只要杀掉它对应的进程就可以了。
一般linux tcp编程流程如下:
但如果TCP客户端需要指定本地源端口号则需要在调用connect()之前调用bind()函数来绑定端口号:
客户端代码
include <stdio.h>
include <stdlib.h>
include <strings.h>
include <arpa/inet.h>
include <sys/socket.h>
int main(){undefined
int sockfd = socket(AF_INET,SOCK_STREAM,0);
if(sockfd==-1)perror("sock");
struct sockaddr_in mine,dest;
bzero(&mine,sizeof(mine));
mine.sin_family = AF_INET;
mine.sin_port = htons(3334);
inet_pton(AF_INE