①搭建好環境(ubuntu、gcc)
②主機內寫好作業
③主機寫好程式**(在虛擬機器中操作也行,在主機中寫好再拖拽到虛擬機器中共享依賴於你已經裝好vmwaretools)
③進入虛擬機器系統開啟終端
nano task1.c //nano新建**檔案
//將**複製到到檔案內ctrl+o 儲存
回到檔案內可看到已經生成的檔案task1.c
④同理nano 命令生成ch1task.txt檔案用於存放作業內容並儲存
⑤新建終端首先編譯task1.c
gcc task1.c -o task1 //編譯生成可執行task1檔案
⑥執行task1檔案
./task1 ip位址 埠號 // ip位址和埠號均為接收方所提供
成功!
//程式**:
#include #include #include #include //socket函式
#include #include #include #include #include #include #include #include //使用basename(),從路徑中獲取檔名及字尾
int main(int argc, char * ar**)//兩個引數分別代表ip位址和埠號
int port = atoi(ar**[2]);
int tcp_socket = socket(af_inet, sock_stream, 0);//建立tcp通訊socket
if (tcp_socket == -1)//建立失敗
struct sockaddr_in dest_addr = ;
dest_addr.sin_family = af_inet;
dest_addr.sin_port = htons(port);
dest_addr.sin_addr.s_addr = inet_addr(ar**[1]);
int ret = -1;
ret = connect(tcp_socket, (struct sockaddr *)&dest_addr, sizeof(dest_addr));
if(ret != 0)
printf("\nconnect succeed!\n");
char file_path[128] = ;//傳輸檔案路徑
char file_info[2048] = ;//傳輸檔案資訊
char buf[1024] = ;
printf("請輸入檔案路徑: ");
scanf("%s", file_path);
char file_name[128] = ;
strncpy(file_name, basename(file_path), sizeof(file_name));//讀取檔案資訊並從中獲得檔案字尾
int fd = open(file_path, o_rdwr);
if (fd == -1)
int len = lseek(fd, 0, seek_end);
lseek(fd, 0, seek_set);
sprintf(file_info, "%d", len);//獲取檔案資訊
strcpy(file_info + 16, file_name); //copy檔案
write(tcp_socket, file_info, 144);
int send_len = 0;
while (1)
write(tcp_socket, buf, ret);
send_len += ret; //上傳檔案的百分比
printf("uploading %.2f%%\n", (float)send_len/len * 100);
} close(fd); // 關閉檔案
close(tcp_socket);//關閉通訊socket
return 0;
}
使用套接字建立連線 TCP
int socket int domain,int type,int protocol domain pf inet,pf inet6以及pf local等,表示什麼型別的套接字 type sock stream 表示位元組流,tcp sock dgram 表示資料報,udp sock raw 表示...
C 資料庫連線設定並把設定寫入到txt文字中
using system using system.collections.generic using system.componentmodel using system.data using system.drawing using system.linq using system.text u...
NB模組TCP連線不穩定原因及使用詳解
使用nb模組建立tcp連線傳送資料,受蜂窩網路波動的影響,tcp連線不穩定,時常容易斷開,但是模組存在無法感知連線狀態的情況,導致較長時間的資料中斷 模組沒有上報斷開連線指示,傳送資料沒有報錯,但是資料沒有傳送到伺服器 以下對nb模組tcp udp的使用做總結,並針對tcp資料中斷的情況給出了解決方...