#!/usr/bin/env python
# -*- encoding=utf-8 -*-
import socket
'''通過socket模仿http,獲取baidu網頁
'''s = socket.socket(socket.af_inet, socket.sock_stream)
#af_inet指定ipv4協議,sock_stream指定tcp協議
#連線指定ip及埠,引數是乙個tuple
# 傳送請求資料:
# 接收資料:
buffer =
while
true:
# 每次最多接收1k位元組:
d = s.recv(1024)
if d:
else:
break
data = ''.join(buffer)
s.close()
#關閉socket
header, html = data.split('\r\n\r\n', 1)
print header #列印頭資訊
# 把接收的資料寫入檔案:
#baidu.html就儲存到本地了
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#server
import socket
import threading
import time
deftcplink
(sock, addr):
print
'accept new connection from %s:%s...' % addr
# addr是tuple ('127.0.0.1', 56610)
sock.send('welcome!')
while
true:
data = sock.recv(1024)
time.sleep(1)
if data == 'exit'
ornot data:
break
sock.send('hello, %s!' % data)
sock.close()
print
'connection from %s:%s closed.' % addr
s = socket.socket(socket.af_inet, socket.sock_stream)
#建立tcp,ipv4的socket
s.bind(('127.0.0.1', 6464))
#繫結埠
s.listen(5)
#監聽埠,指定等待連線的最大數量5
print
'waiting for connection...'
while
true:
sock, addr = s.accept()
#接收乙個新連線
t = threading.thread(target=tcplink, args=(sock, addr))
#建立新執行緒處理tcp連線
t.start()
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# client
import socket
s = socket.socket(socket.af_inet, socket.sock_stream)
s.connect(('127.0.0.1', 6464))
# 建立連線:
print s.recv(1024)
# 接收歡迎訊息:
for data in ['michael', 'tracy', 'sarah']:
s.send(data)
# 傳送資料:
print s.recv(1024)
s.send('exit')
s.close()
python網路程式設計 TCP網路程式設計
tcp程式設計 客戶端 import socket 1 套接字 tcp socket socket.socket socket.af inet,socket.sock stream 2 建立鏈結 tcp socket.connect 172.27.35.1 8080 3 傳送資訊 tcp socke...
python 網路程式設計
今天晚上學習了一下python的網路程式設計,實現了client向server傳送資料,server反饋資訊 python 3.3 版本 server from socket import class tcpserver object def init self,serverport self.se...
python網路程式設計
網路通訊是計算機之間的程序之間的通訊。tcp程式設計 tcp連線建立是雙向通道,客戶端與服務端都可以給對方傳送資料。建立tcp連線時,主動發起連線的叫客戶端,被動響應連線的叫服務端。建立乙個tcp的socket連線 用socket family,type 建立套接字獲得socket物件。family...