1樓:
客戶端clt.py
# coding: utf8
import socket
host = '192.168.1.101'
port = 12008
def send_data(data):
try:
sock_clt = socket.socket(socket.af_inet, socket.sock_stream)
sock_clt.connect((host, port))
sock_clt.send(data)
finally:
sock_clt.close()
while true:
send_data('你的二進位制資料')
服務端svr.py
# coding: utf8
import socket
host = ''
port = 12008
size = 4096
sock_svr = socket.socket(socket.af_inet, socket.sock_stream)
# python socket server重啟後,埠被佔用的解決方法
sock_svr.setsockopt(socket.sol_socket,socket.so_reuseaddr, 1)
sock_svr.bind((host, port))
sock_svr.listen(1)
while true:
print "waiting of the client to connect"
clt_conn_sock, addr = sock_svr.accept()
print 'connected by', addr
comp_data = ''
while true:
data = clt_conn_sock.recv(size)
if not data:
break
comp_data += data
clt_conn_sock.close()
if not comp_data:
continue
print comp_data
服務端可以使用socket的select或poll,也可以使用twisted
2樓:螞蟻學
python使用tensorflow讀取csv資料訓練dnn深度學習模型
如何用python處理從網路socket讀取出來的二進位制資料流
3樓:螞蟻學
python使用tensorflow讀取csv資料訓練dnn深度學習模型
python3 socket的send方法如何傳送資料 5
4樓:扈思雨
用如下**:
name='bruce'
s.send(b'hihi'+name.encode())要把name變成二進位制才能拼接望採納
5樓:愛笑的風隱
可以將name中的內容解碼為utf-8,我的建議是s.send(b'hihi'+name.encode('utf-8')),望採納
6樓:匿名使用者
這個跟socket沒關係啊。
你的name和b'hihi'這兩個字串,應該要麼都是str要麼都是bytes
python如何使用socket來傳輸物件
7樓:
import socket
import struct
sock = socket.socket(socket.af_inet, socket.sock_stream)
sock.connect(('localhost', 10000))values = (1, 'ab', 2.7)packer = struct.
struct('i 2s f')packed_data = packer.pack(*values)try:
sock.sendall(packed_data)finally:
sock.close()
有個模組叫struct,可以自定義結構體,可以這樣傳送**。
try:
import cpickle as pickleexcept:
import pickle
class aa():
def a(self):
print "123"
ddd = aa()
data = pickle.dumps(ddd)還有個模組叫pickle,可以打包任何python物件,打包的結果也可以拿到套接字裡發。
8樓:自由de王國
可以轉換為字串,比如反引號或者repr函式,由字串變成物件,可以用eval函式
python socket 的rev函式怎麼接收位元組陣列
9樓:愛染年
import socketimport structsock = socket.socket(socket.af_inet, socket.
sock_stream) sock.connect(('localhost', 10000))values = (1, 'ab', 2.7)packer = struct.
struct('i 2s f')packed_data = packer.pack(*values)try: sock.
sendall(packed_data)finally: sock.close()有個模組叫struct,可以自定義結構體,可以這樣傳送**。
try: import cpickle as pickleexcept: import pickleclass aa():
def a(self): print "123"ddd = aa()data = pickle.dumps(ddd)還有個模組叫pickle,可以打包任何python物件,打包的結果也可以拿到套接字裡發。
python中使用socket程式設計,如何能夠通過udp傳遞一個列表型別的資料?
10樓:
python中的 list 或者 dict 都可以轉成json字串來傳送,接收後再轉回來。
首先import json
然後,把 list 或 dict 轉成 json
json_string = json.dumps(list_or_dict)
如果你用的是python3,這裡的 json_string 會是 str 型別(即python2的unicode型別),可能需要編碼一下:
if type(json_string) == six.text_type:
json_string = json_string.encode('utf-8')
用socket傳送過去,例如
s.sendto(json_string, address)
對方用socket接收,例如
json_string, addr = s.recvfrom(2048)
把json轉成 list 或 dict
list_or_dict = json.loads(json_string)
下面是個完整的例子:
client.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import socket
import json
import six
address = ('127.0.0.1', 31500)
s = socket.socket(socket.af_inet, socket.sock_dgram)
mylist = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
json_string = json.dumps(mylist)
if type(json_string) == six.text_type:
json_string = json_string.encode('utf-8')
s.sendto(json_string, address)
s.close()
server.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import socket
import json
address = ('127.0.0.1', 31500)
s = socket.socket(socket.af_inet, socket.sock_dgram)
s.bind(address)
json_string, addr = s.recvfrom(2048)
mylist = json.loads(json_string)
print(mylist)
s.close()
請先執行server.py,再執行client.py
11樓:凌雲小紫冥
udp不適合傳輸很大的資料包。
如何使用python解析超大ml
超大 xml 文件在哪呢?python解析xml檔案如何讀取所有標籤的內容?求大神指教 如何用python讀取xml檔案中指定標籤的文件內容並將其修改?最好寫下詳細 非常感謝哈!使用python自帶的elementtree模組,給你個例子你就知道了 xml文件 0e python python 修改...
python如何使用re模組的sub函式實現把一串字母或者數字組合的字串,全部替換成
w沒有加引號 print re.sub w string3 python 正規表示式如何擷取字串中間的內容 啟動ipython先匯入re模組 這裡我用到了findall全域性匹配,分為兩部分,前面是正則,後面是要匹配的字串 得到一個元祖 通過變數a 就能列印出想要的字串 在 python 中,我們可...
python下使用openCV3,如何在一幅灰度圖中,為所有
1 可以變成灰度圖也可以不變。這裡假設你的影象都是ipl depth 8u型別。2 如果變成灰度圖,就是單通道影象,獲取的就是每一個畫素點的灰度值。iplimage img cvloadimage test.bmp 0 for int i 0 i img height i 3 如果不變成灰度圖,就是...