服務端利用多執行緒TCP同時接受多個客戶端傳送檔案
1. 這是服務端的原始碼:
01.
import
java.io.*;
02.
import
java.net.*;
03.
public
class
LoadPicServer
{
04.
public
static
void
main(String[]
args)
throws
IOException
{
05.
int
listen_port
=
10005
;
//監聽的埠號
06.
long
filecount
=
1
;
07.
ServerSocket
ss =
new
ServerSocket(listen_port);
//監聽listen_port埠
08.
if
(ss.isBound())
09.
System.out.println(
"The
Server is listenning the port "
+
listen_port);
10.
while
(
true
)
{
11.
Socket
s = ss.accept();
//檢查是否有連線,該語句是阻塞語句,如果沒有則會停在這。
12.
if
(s.isConnected())
{
//如果有連線則返回true,執行下面語句
13.
String
filename =
new
String(
"ServerPic"
+
filecount++ +
".jpg"
);
14.
System.out.println(s.getInetAddress().getHostAddress()
15.
+
"
is connected!"
);
//獲取已連線的客戶端的IP
16.
new
Thread(
new
LoadPic(s,filename)).start();
//開啟新執行緒接收圖片,主執行緒繼續回去while最開始檢查有無連線。
17.
}
18.
}
19.
}
20.
}
21.
/*
22.
*
該類實現Runnable介面,用於實現多執行緒複製圖片。
23.
*
該類的作用就是與主執行緒傳入的Socket連線進行通訊,從網路流獲取對方的傳送的檔案資料。
24.
*
*/
25.
class
LoadPic
implements
Runnable
{
26.
Socket
s =
null
;
27.
String
filename =
null
;
28.
BufferedInputStream
bufin =
null
;
29.
BufferedOutputStream
bufout =
null
;
30.
PrintWriter
return_txt =
null
;
31.
32.
public
LoadPic(Socket
s,String filename) {
33.
this
.s
= s;
34.
this
.filename
= filename;
35.
}
36.
37.
public
void
run()
{
38.
相關推薦
服務端利用多執行緒TCP同時接受多個客戶端傳送檔案
程式實現的是一個讀取照片(可改為其檔案型別)的服務端,可同時接受多個客戶端連線,並且同時接受多張圖片的資料。主要是通過多執行緒控制,每次檢測到有請求連線,則開闢一個新執行緒,新執行緒的作用是接受圖片, 通過不同執行緒同時執行達到可同時接收多張圖片。 1. 這是服務
多執行緒TCP/IP通訊的服務端
/* add include files */#include "winsock2.h"#include "afxmt.h"#include "Mmsystem.h"#include <time.h>#include <sys/types.h>#in
.NET應用架構設計—服務端開發多執行緒使用小結(多執行緒使用常識)
有一段時間沒有更新部落格了,最近半年都在著寫書《.NET框架設計—大型企業級框架設計藝術》,很高興這本書將於今年的10月份由圖靈出版社出版,有關本書的具體介紹等書要出版的時候我在另寫一篇文行做介紹。可以先透露一下,本書是博主多年來對應用框架學習的總結,裡面包含了十幾個重量級框架模式,這些模式都是我們目前所經常
Java多執行緒技術:實現多使用者服務端Socket通訊
目錄 前言回顧 一、多使用者伺服器 二、使用執行緒池實現服務端多執行緒 1、單執行緒版本 2、多執行緒版本 三、多使用者與服務端通訊演示 四、多使用者伺服器完整程式碼 最後 前言回顧 在上一篇《Java多執行緒實現TCP網路Socket程式設計(C/S通訊)》,我們解決了伺服器端在建立連線後,連續傳送多條資
【Linux C/C++】 第08講 多執行緒TCP傳輸檔案/select模型
一、多執行緒 pthread.h libpthread.so -lpthread 1.建立多執行緒 1.1 程式碼 &nbs
[C#原始碼]網路資料流讀寫封裝類,支援多執行緒下同時讀和寫,自動資源管理,字串分隔符\r\n
using System; using System.Collections; using System.Collections.Concurrent; using System.Collections.Generic; using System.IO; using Syst
Linux C: 基於C/S的多執行緒網路程式設計 2 (多客戶端)
客戶端: #include<stdio.h> #include<stdlib.h> #include<string.h> #include<sys/type
基於threading模組下Thread,實現多執行緒TCP套接字通訊
伺服器 import socket from threading import Thread import struct, json IP = '127.0.0.1' PORT = 8080 ADD = (IP, PORT) server = socket.socket
Linux下socket程式設計之多執行緒TCP伺服器
程式碼如下: thread_server.c #include<string.h> #include<stdlib.h> #include<stdio.h> #include<sys/types.h> #i
多執行緒實現伺服器與多個客戶端通訊,客戶端之間相互不干擾
1,服務端建立ServerSocket繫結埠號,迴圈呼叫accept()方法 2,客戶端建立一個socket並請求和伺服器端連線 3,伺服器端接受客戶端請求,建立socket與該客戶建立連線 4,兩個socket在一個單獨的執行緒上通話 5,伺服器端繼續等待新的連線
使用VC#製作多執行緒TCP connect掃描器
本文已投稿《黑客安全基地》。文章為《黑客安全基地》所有,未經《黑客安全基地》同意不得轉載。謝謝合作! 如果你想知道對方的計算機提供什麼服務,什麼工具是你最常用的?沒錯!掃描器。現在各式各樣的掃描器少說也後好幾百種了。從很早以前的HakTek(這並不是最早的掃描器,但是筆者見到的第一個掃描器。)到現在的X-S
多執行緒TCP伺服器
1.模組 TCP多執行緒伺服器的建立也很簡單!需要引進模組threading。threading模組用於提供執行緒相關的操作,執行緒是應用程式中工作的最小單元。 2.程式碼 import socket import threading bind_ip = "1
socket多執行緒、一個伺服器多客戶端的實現
鑑於ServerSocket的accept方法是阻塞的,那麼只能通過多執行緒的方式實現多客戶端連線與伺服器連線 基本步驟: 1,服務端建立ServerSocket繫結埠號,迴圈呼叫accept()方法 2,客戶端建立一個socket並請求和伺服器端連線 3,伺服器端接
java_多執行緒_socket通訊_多個客戶端傳送,伺服器響應
/** * 伺服器端不斷接受請求 * 接受一個請求開啟一段執行緒 */ package 練習0927; import java.io.BufferedReader; import java.io.IOException; import java.io.InputSt
【精】【多執行緒】ListenableFuture非同步多執行緒查詢實現
業務場景:為優化查詢效率,將原有查詢的條件做成單獨的索引表,每次產生記錄就會同步到索引表中,每次查詢索引表,根據索引便利的條件欄位再分別查詢每張子表的內容,最後封裝成前臺要的實體類。這裡面涉及到非同步查詢,如何保證一條記錄下的子表全部都查出來後才執行下面的操作。 下面Demo簡
32-多執行緒--概述+Thread類+多執行緒的建立方式(繼承Thread類+實現Runnable介面)+Runnable介面+執行緒的名稱+執行緒的狀態
一、概述 1、程序:對應的是一個應用程式在記憶體中的所屬空間。程序是不直接執行的,它只是在分配該應用程式的記憶體空間 注:如果一個程式在記憶體中開闢了空間,就代表它在執行。不執行要釋放空間 2、執行緒:程序中的一個負責程式執行的控制單元,也叫執行路徑。一個程序中可以有多個執行路徑,稱之為
python多執行緒———2、建立多執行緒的兩種方式
法一、使用Thread類例項化 法二、繼承Thread來實現多執行緒 #對於io操作來說,多執行緒和多程序效能差別不大 #1、使用Thread類例項化 import time import threading def get_detail_html(url): prin
JAVA高併發多執行緒必須懂的50個問題
ImportNew 首頁所有文章資訊Web架構基礎技術書籍教程Java小組工具資源 Java執行緒面試題 Top 50 2014/08/21 | 分類: 基礎技術 | 27 條評論 | 標籤: 多執行緒, 面試題 分享到: 692 本文由
安卓多執行緒間通訊和多程序之間通訊有什麼不同?分別怎麼實現?
**當一個程式第一次啟動的時候,Android會去動一個Linux進行和一個主執行緒,預設情況下,所有改程式元件都將在該程序和執行緒中 執行,同時Android會為每個應用程式分配一個單獨的Linux使用者,Android會盡量保留一個正在執行的程序,只在記憶體資源出現不足時,Andro
多執行緒學習-day-01多執行緒基礎
執行緒基礎、執行緒之間的共享和協作 (目前會將一些概念簡單描述,一些重點的點會詳細描述) 1,CPU核心數和執行緒數之間的關係 ①、一塊CPU只有一塊處理器 ②、Inter提出了多核處理器 ③、CPU核心數 和 執行緒數 是 1:1 的關係 ④、Inter提出了超執行緒,